swadian2008
码龄4年
  • 233,612
    被访问
  • 287
    原创
  • 6,316
    排名
  • 199
    粉丝
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2018-06-08
博客简介:

swadian2008的博客

查看详细资料
  • 5
    领奖
    总分 1,838 当月 54
个人成就
  • 获得521次点赞
  • 内容获得92次评论
  • 获得2,187次收藏
创作历程
  • 102篇
    2022年
  • 92篇
    2021年
  • 93篇
    2020年
  • 36篇
    2019年
  • 3篇
    2018年
成就勋章
TA的专栏
  • Spring源码
    8篇
  • Apache Pulsar
    15篇
  • Web开发
    8篇
  • Apache kafka
    11篇
  • Docker
  • 数据结构
    1篇
  • 算法啊算法
    18篇
  • Spring
    15篇
  • 设计模式
    5篇
  • 虚拟化
    3篇
  • JVM
    12篇
  • 面试题汇总
    2篇
  • redis
    7篇
  • 分布式
    4篇
  • Servlet容器
    19篇
  • springmvc
    9篇
  • HTTP协议
    11篇
  • 软考
    22篇
  • Shell
    14篇
  • SpringCloud
  • 服务器相关
    5篇
  • 计算机组成原理学习笔记
    21篇
  • 离散数学概论
    1篇
  • 计算机网络原理学习笔记
    17篇
  • 数据库
    18篇
  • SpringBoot
    14篇
  • 开发工具
    11篇
  • Java
    22篇
  • 计算机基础
    3篇
  • 并发编程
    29篇
  • Linux
    12篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Spring Security - Spring Security Architecture(Spring安全框架的体系结构)

目录1. Introduction(简介)2. Authentication(认证) & Access Control(访问控制)2.1 Authentication(认证)2.2 Customizing Authentication Managers(自定义认证管理器)2.3 Authorization or Access Control(授权或访问控制)3. Web Security(Web安全)3.1 Web Security基本组件3.2 Creating and Customizing Filte
转载
发布博客 2022.08.06 ·
11 阅读 ·
0 点赞 ·
0 评论

Optional中orElse和orElseGet的区别

所以如果备选值是无需计算的,现在已有的,那就用orElse。如果值还没得到,那最好用orElseGet延迟执行。其实不管是orElse还是orElseGet都会进到对应的方法里面的,所以在要执行orElse之前,那参数的值我总要知道吧,所以肯定先要执行传入的方法才行。实际跟踪代码也会发现,进到orElse之前,getDefaultValue() 方法就已经执行了。一开始有点没明白,我传的是一个类调用,这里接收的是一个对象,然后突然就想明白了...乍一看确实有点懵,明明有值,为什么还执行,怎么都觉得跟。...
原创
发布博客 2022.08.05 ·
21 阅读 ·
0 点赞 ·
0 评论

【Pulsar文档】概念和架构/Concepts and Architecture

目录一、概述/Overview二、消息/Messaging三、架构/Architecture四、客户端/Clients五、地域复制/Geo Replication六、多租户/Multi Tenancy七、身份验证和授权/Authentication and Authorization八、主题压缩/Topic Compaction九、代理支持和SNI路由/Proxy support with SNI routing十、多广播侦听器/Multiple advertised listenersPulsar是一个多
原创
发布博客 2022.07.01 ·
79 阅读 ·
0 点赞 ·
0 评论

Pulsar的Proxy支持和SNI路由

目录Pulsar 中的 ATS-SNI Routing(1)为 layer-4 SNI routing 设置 ATS Proxy (2)使用 SNI routing 配置 Pulsar-client(2)使用 SNI routing 进行 geo-replication代理服务器是一种中介服务器,它跨Internet将来自多个客户端的请求转发到不同的服务器。代理服务器在正向和反向代理场景中都扮演着“交通警察”的角色,并为您的系统带来了负载平衡、性能、安全性、自动扩容和缩容等好处。Pulsar中的代理充当反向
翻译
发布博客 2022.06.27 ·
88 阅读 ·
0 点赞 ·
0 评论

Pulsar 主题压缩

Pulsar以高度可扩展的消息数据持久存储为主要目标。Pulsar 主题使您能够持久存储所需数量的未确认消息,同时保留消息顺序。默认情况下,Pulsar 存储在某个主题上生成的所有未确认/未处理的消息。对于许多 Pulsar 场景来说,在一个主题上存储许多未确认的消息是必要的,但对于Pulsar 用户来说,在整个消息的日志中“回放”也将变得非常耗时。For a more practical guide to topic compaction, see the Topic compaction cookboo
翻译
发布博客 2022.06.27 ·
40 阅读 ·
0 点赞 ·
0 评论

Pulsar Geo Replication/灾备/地域复制

无论在哪个行业,当发生不可预见的事件并导致日常运营停止时,组织都需要一个准备充分的灾难恢复计划,以快速将服务恢复到客户端。然而,灾难恢复计划通常需要使用地理位置分散的数据中心来部署多个数据中心。这种多数据中心部署需要使用地理复制机制,以便在数据中心出现故障时提供额外的备份。Pulsar 的地理复制机制通常用于灾难恢复,支持持久存储的数据跨多个数据中心复制。例如,您的应用程序正在一个地区发布数据,而您希望处理这些数据以供其他地区消费。利用 Pulsar 的地理复制机制,可以在不同的地理位置生成和消费消息。下图
翻译
发布博客 2022.06.23 ·
62 阅读 ·
0 点赞 ·
0 评论

Pulsar 多租户

Pulsar 从一开始就是一个多租户系统。为了支持 multi-tenancy,Pulsar 提出了租户的概念。租户可以分布在集群中,每个租户都可以应用自己的身份验证和授权方案。它们也是管理存储配额、TTL消息和隔离策略的管理单元。Pulsar 的多租户特性主要体现在主题 URL 中,其结构如下:如您所见,租户是主题分类的最基本单元(比命名空间和主题名称更基本)。对于Pulsar实例中的每个租户,您可以分配:租户和命名空间是Pulsar支持多租户的两个关键概念。同一命名空间中主题的名称如下所示:
翻译
发布博客 2022.06.17 ·
105 阅读 ·
0 点赞 ·
1 评论

pulsar 架构概述 Architecture Overview

目录1.代理 Brokers2.集群 clusters3.元数据存储 Metadata store4.配置存储 Configuration store5.持久化存储 Persistent storage6.记账人 Apache BookKeeper7.记账本 LedgersLedger读取的一致性​托管分类账 Managed ledgers​日志存储 Journal storage​8.Pulsar 代理9.服务发现在最高级别上,Pulsar 实例由一个或多个 Pulsar 集群组成。在集群中的实例可以从其
翻译
发布博客 2022.06.17 ·
60 阅读 ·
0 点赞 ·
0 评论

Pulsar 客户端(Clients)

目录1.客户端安装阶段2.读取接口(Reader interface)Pulsar exposes a client API with language bindings for Java, Go, Python, C++ and C#. 客户端 API 优化和封装了 Pulsar 的 client-broker 通信协议,并公开了一个简单直观的 API 供应用程序使用。在后台,当前的 Pulsar 官方客户端库支持对 brokers 进行透明的重新连接和故障连接的切换,并在broker 确认之前对消息进行
翻译
发布博客 2022.06.17 ·
156 阅读 ·
0 点赞 ·
0 评论

Pulsar 多播监听器

在生产环境中部署 Pulsar 群集时,可能需要为 broker 公开多播地址。例如,当您在 Kubernetes 部署Pulsar群集,并希望不在同一 Kubernetes 群集中的其他客户端连接到该 Pulsar 群集时,需要为外部客户端分配一个 broker URL。但同一 Kubernetes 集群的客户端,仍然可以通过内部网络连接到 Pulsar 集群。为了确保内部和外部网络中的客户端都可以连接到 Pulsar 群集,Pulsar 在 broker 配置文件中引入 advertisedListen
翻译
发布博客 2022.06.15 ·
52 阅读 ·
0 点赞 ·
0 评论

Pulsar 消息的重传、过期、去重和延迟传递

目录1.消息重传2.消息保留和过期策略3.消息去重(1)生产者的幂等性(2)去重和一次有效4.延迟消息传递(1)broker(2)ProducerApache Pulsar 支持优雅的故障处理,确保关键数据不会丢失。软件总是会出现意外情况,有时消息可能无法成功传递。因此,拥有一个处理故障的内置机制非常重要,特别是在异步消息传递中。例子如下:Apache Pulsar 使用至少一次传递机制来避免消息传递失败,同时确保Pulsar可以多次处理消息。使用消息重传,需要启用此机制,然后代理才能在Apache Pul
翻译
发布博客 2022.06.15 ·
345 阅读 ·
1 点赞 ·
0 评论

Pulsar 分区主题、非持久性主题和系统主题

目录1.分区主题(1)路由模式(2)排序保证(3)Hash 策略​2.非持久性主题3.系统主题普通主题仅由单个代理(broker)提供服务,这限制了主题的最大吞吐量。分区主题是一种特殊类型的主题,由多个代理处理,因此允许更高的吞吐量。一个分区主题实际上由N个内部主题实现(其中N是分区数)。当消息发布到分区主题时,每条消息都会路由到其中一个代理上,Pulsar会自动处理跨代理的分区分布。下图说明了这一点:Topic1主题有五个分区( P0 到 P4 ),分为三个代理(brokers)。因为分区比代理多,所以其
翻译
发布博客 2022.06.15 ·
103 阅读 ·
0 点赞 ·
0 评论

Pulsar 消息的订阅

目录1.订阅(1)订阅类型(2)订阅的模式/游标类型2.多主题订阅订阅是一种配置规则,确定如何将消息传递给使用者。Pulsar有四种订阅类型: exclusive, shared, failover, and key_shared。这些类型的说明如下发布订阅和消息排队在Pulsar中,您可以灵活使用不同的订阅。如果一个订阅没有消费者,那么不会确定订阅类型。订阅的类型在消费者连接到订阅时确定,可以通过使用不同的配置重新启动消费者来更改该类型。独占(Exclusive)在独占类型中,仅允许单个消费者订阅。如果多
翻译
发布博客 2022.06.15 ·
235 阅读 ·
0 点赞 ·
0 评论

Pulsar 主题和命名空间

目录1.主题2.命名空间和其他 pub-sub 系统一样,Pulsar中的主题被定义为从生产者向消费者传输信息的频道。主题名称是被定义好的URLs结构: Topic name component Description / 主题类型This identifies the type of topic. Pulsar supports two kind of topics: persistent and non-persistent. The de
翻译
发布博客 2022.06.15 ·
76 阅读 ·
0 点赞 ·
0 评论

Pulsar 消费者

消费者(consumer)是通过订阅消息主题,然后接收消息的程序。消费者向代理发送许可请求获取消息。消费者端有一个队列,用于接收从代理推送的消息。可以使用receiverQueueSize参数配置队列的大小。(默认大小为1000)。每次消费消息,调用receive(),则消息会从缓存队列中移除。从代理(brokers)接收消息可以是同步的也可以是异步的Sync receive// 同步Async receive// 异步An async receive returns immediately with a
翻译
发布博客 2022.06.13 ·
190 阅读 ·
0 点赞 ·
0 评论

Pulsar 生产者

目录1.消息发送方式2.访问模式3.消息压缩4.批量消息5.消息分块生产者(producer)是一个附加主题(topic)并把消息(messages)发布到 Pulsar broker 的程序,Pulsar broker 会处理接收到的消息(messages)。生产者(Producers)发送消息(messages)到 brokers 可以是同步的(sync),也可以是异步的(async)Sync send同步发送The producer waits for an acknowledgement from
翻译
发布博客 2022.06.13 ·
107 阅读 ·
0 点赞 ·
0 评论

Pulsar 消息的构成

目录消息(messages)Pulsar 基于发布-订阅模式(通常缩写为pub-sub),在这种模式中, 生产者(producers)将消息(messages)发布到主题(topics);消费者(consumers)订阅这些主题(topics),然后处理传入消息(messages),并在处理完成后向代理(broker)发送确认信息。当消费者订阅消息后,即使消费者断开连接,Pulsar 也会保留所有的消息。只有当消费者确认所有消息都已经成功处理,Pulsar 才会丢弃保留的消息。假如有一条消息消费失败,消费者
翻译
发布博客 2022.06.13 ·
81 阅读 ·
0 点赞 ·
0 评论

Springboot 自动配置原理/源码解析

目录1、自动配置读取原理源码解析(1)@SpringBootConfiguration (2)@ComponentScan(3)@EnableAutoConfiguration2、Springboot 自动配置类的使用Spring Boot 自动配置流程图示从 @SpringBootApplication 注解开始,Spring Boot 应用把该注解标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot 需要运行这个类的 main() 方法来启动 SpringBoot 应用;@Sp
原创
发布博客 2022.06.12 ·
106 阅读 ·
1 点赞 ·
0 评论

Java Atomic 原子操作类

目录1、基本类型的原子更新2、数组类型的原子更新3、引用类型的原子更新4、对象属性原子修改器5、LongAdder/DoubleAdder详解6、LongAdder 原理在并发编程中很容易出现并发安全的问题,有一个很简单的例子就是多线程更新变量 i=1 ,比如多个线程执行 i++ 操作,就有可能获取不到正确的值,而这个问题,最常用的方法是通过 Synchronized 进行控制来达到线程安全的目的。但是由于synchronized是采用的是悲观锁策略,并不是特别高效的一种解决方.
原创
发布博客 2022.06.04 ·
46 阅读 ·
0 点赞 ·
0 评论

深入理解CAS

目录1、什么是CAS?2、使用Java中的CAS3、CAS源码分析4、原子类和CAS自旋锁的实现5、ABA 问题1、什么是CAS?CAS(Compare And Swap,比较并交换),通常指的是这样一种原子操作:针对一个变量,首 先比较它的内存值与某个期望值是否相同,如果相同,就给它赋一个新值。 CAS 的逻辑用伪代码描述如下:if (value == expectedValue) { // 1-比较 value = newValue; // 2-交换}以
原创
发布博客 2022.05.30 ·
42 阅读 ·
0 点赞 ·
0 评论
加载更多