![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
java技术学习
kwxyzk
这个作者很懒,什么都没留下…
展开
-
RocketMQ源码解析之负载均衡
RocketMQ源码解析之负载均衡RocketMQ中的负载均衡都在Client端完成,具体来说的话,主要可以分为Producer端发送消息时候的负载均衡和Consumer端订阅消息的负载均衡。Producer 的负载均衡Producer端在发送消息的时候,会先根据Topic找到指定的TopicPublishInfo,在获取了TopicPublishInfo路由信息后,RocketMQ的客户端在默认方式下selectOneMessageQueue()方法会从TopicPublishInfo中的mess原创 2020-07-29 17:58:37 · 328 阅读 · 0 评论 -
RocketMQ源码解析之消息存储
RocketMQ源码解析之消息存储消息存储是 RocketMQ 中最为复杂和最为重要的一部分,包含 RocketMQ 的消息存储整体架构、PageCache 与 Mmap 内存映射以及 RocketMQ 中两种不同的刷盘方式三方面来分别展开叙述。下边是一张RocketMQ官方的一张消息架构图:消息存储架构图中主要有下面三个跟消息存储相关的文件构成。(1) CommitLog:消息主体以及元数据的存储主体,存储Producer端写入的消息主体内容,消息内容不是定长的。单个文件大小默认1G ,文件名长原创 2020-07-27 18:40:36 · 254 阅读 · 0 评论 -
Zookeeper源码解析之选举机制
Zookeeper源码解析之选举机制ZooKeeper 的使用一般来说都是集群的,ZooKeeper 的集群状态所示,集群部署时要选举出一台服务作为整个集群的领导者选举机制中的概念:服务id :sid(id),服务的标识服务器中存放的最大数据ID : zxid选举/投票纪元:epoch,即第几轮选举Server状态——选举状态:LOOKING:竞选状态。FOLLOWING:随从状态,同步leader状态,参与投票。OBSERVING:观察状态,同步leader状态,不参与投票。LEA原创 2020-07-24 19:27:53 · 427 阅读 · 0 评论 -
Zookeeper源码解析之监听机制
Zookeeper源码解析之监听机制ZooKeeper 允许客户端向服务端注册一个 Watcher 监听,当服务器的一些特定事件触发了这个 Watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能。ZooKeeper 的 Watcher 机制主要包括客户端线程、客户端 WatchManager 和 ZooKeeper 服务器三部分。ZooKeeper Watcher 存储ZooKeeper 的 Watcher 不管在客户端还是在 ZooKeeper 服务器中都有存储,首先我们看一下原创 2020-07-23 21:23:50 · 375 阅读 · 0 评论 -
Dubbo源码解析之负载均衡
Dubbo源码解析之负载均衡Dubbo LoadBalance组件 为负载均衡组件,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬件负载均衡。在 Dubbo 中,所有负载均衡实现类均继承自 AbstractLoadBalance,该类实现了 LoadBalance 接口,并封装了一原创 2020-07-14 19:46:36 · 145 阅读 · 0 评论 -
Dubbo源码解析之服务集群容错
Dubbo源码解析之服务集群容错集群容错包含四个部分,分别是服务目录 Directory、服务路由 Router、集群 Cluster 和负载均衡 LoadBalance。集群容错的所有组件服务目录 Directory服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如 ip、端口、服务协议等。通过这些信息,服务消费者就可通过 Netty 等客户端进行远程调用。在一个服务集群中,服务提供者数量并不是一成不变的,如果集群中新增了一台机器,相应地在服务目录原创 2020-07-13 18:08:24 · 199 阅读 · 0 评论