![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RocketMQ
昊haohao
据说 爱分享的人后来都变成了大神 :-)
展开
-
《RockeMQ实战与原理解析》 学习笔记
第一章 1.1 消息队列的功能介绍 1.1.1 应用解耦 1.1.2 流量消峰 大部分应用系统在高峰时间段流量会猛增, 这个时候如果没有缓冲机制,不可能短时间内承受住大流量的冲击。利用消息队列,把大量的请求缓存起来,分散到相对长的一个时间段内处理,能大大提高系统的稳定性和用户提现。 1.1.3 消息分发 数据产生方将数据写入一个消息队列,数据使用方根据自己的需求订阅感兴趣的数据,各个团队订阅的数据...原创 2018-10-30 08:50:42 · 659 阅读 · 0 评论 -
RocketMQ NameServer模块 源码学习
RocketMQ namesrv 模块中 用到了 MixAll 类, 其中有一个 properties2Object(Properties, Object) 通用方法,把properties 转换成 简单的 POJO object。 你可以进一步扩展:从.properties 文件中读取properties key 和 value, 然后将key 和 value 转换成 object。 这个方法...原创 2018-10-30 19:29:24 · 195 阅读 · 0 评论 -
RocketMQ Consumer 负载均衡算法源码学习 -- AllocateMessageQueueConsistentHash
RocketMQ 提供了一致性hash 算法来做Consumer 和 MessageQueue的负载均衡。 源码中一致性hash 环的实现是很优秀的,我们一步一步分析。 一个Hash环包含多个节点, 我们用 MyNode 去封装节点, 方法 getKey() 封装获取节点的key。我们可以实现MyNode 去描述一个物理节点或虚拟节点。MyVirtualNode 实现 MyNode, 表示一个...原创 2018-10-30 19:29:50 · 520 阅读 · 0 评论 -
RocketMQ Consumer 负载均衡算法学习 -- AllocateMessageQueueAveragelyByCircle
首先, RocketMQ Consumer 的负载均衡指的是把Topic 下的所有MessageQueue 分配到不同的 Consumer 中,所以Message Queue , Consumer 的数量,某个Consumer 的位置 会影响到负载均衡。 这边介绍下环形平均分配的算法:所有Consumers 形成一个环,所有MessageQueues 依次分配到环上每个Consumer。 代码如...原创 2018-10-30 19:31:02 · 931 阅读 · 0 评论 -
RocketMQ实现顺序消息
大部分业务场景不需要消息的产生和消费的顺序相同(顺序消费)。但在某些场景(比如 订单的生成,付款 ,下单 这3个消息必须按顺序处理)。解决思路是:(1)在发送端,要把统一业务ID 发送到同一个MessageQueue. (2) 在消费端,同一MessageQueue 的消息不要被并发处理了。 针对(1) , 我们可以使用RocketMQ 提供的 MesssageQueueSelector 接口以...原创 2018-10-30 19:31:53 · 1146 阅读 · 0 评论