
RocketMQ
文章平均质量分 96
小丸子呢
分享RocketMQ与Kafka的相关知识,共勉
展开
-
顺藤摸瓜RocketMQ之注册中心debug解析
注册中心namesrv概述在一个分布式服务系统里面注册中心是不可或缺的,因为它维护这服务的状态,防止分布式系统出现单点故障,提供高可用。假使不使用注册中心,服务发现,那么就需要在客户端配置每个服务端的信息,那么在服务端横向扩容的时候就显得很生硬,服务发现功能主要是为了让服务自动注册,让客户端能够自动感知到服务端的状态信息,从而使用一定的策略权衡调用服务。rocketmq注册中心网上普遍存在如下两个架构图:不同于其他的注册中心:rocketmq的namesrv之间是互不通信的,并且是不分M-S的原创 2021-06-07 16:29:52 · 1029 阅读 · 0 评论 -
顺藤摸瓜RocketMQ之刷盘机制debug解析
Rocketmq 刷盘机制三个文件在rocketmq里面存在这样三个文件indexfileconsumequeuecommitlog其中indexfile和consumequeue可以理解为索引文件,indexFileconsumeQueuecommitlog刷盘原创 2021-06-03 19:57:21 · 1108 阅读 · 3 评论 -
顺藤摸瓜RocketMQ之主从同步(HA)解析
由于HA机制需要两台机器运行,我笔者只有一台电脑,不然就需要修改很多端口文件配置来进行启动,难度较大,所以这节就直接分析代码,就不debug进入到程序了。rocketmq HArocketmq添加slave有如下好处:数据备份:保证多台broker数据的冗余,特别是主从同步复制的情况下,master出现不可恢复的故障之后,保证数据不丢失高可用性:即使master掉线,consumer会自动从连到对应的slave机器,不会出现消费停滞的情况提高性能:分担master的压力,主要表现在,拉取消息的最大原创 2021-06-01 00:07:47 · 1416 阅读 · 0 评论 -
顺藤摸瓜RocketMQ之消息消费debug解析
继前文顺藤摸瓜RocketMQ之消息发送debug解析分析完消息发送的流程之后,我们接着分析rocketmq的消息消费流程,环境搭建见前面的文章消息发送。消息发送流程分析consumer启动以及拉取消息来到我们的代码org.apache.rocketmq.example.quickstart.Consumer:new了一个consumer的默认实现,然后设置了一些必要信息之后,就执行start方法,我们跟进:public class Consumer { public static .原创 2021-05-25 22:44:27 · 1345 阅读 · 0 评论 -
顺藤摸瓜RocketMQ之消息发送debug解析
启动rocketmq原创 2021-05-22 17:41:03 · 1368 阅读 · 0 评论 -
顺藤摸瓜RocketMQ之整体架构以及执行流程
代码结构映入眼帘,还是可以很清晰的分辨出各个模块都是负责哪块的acl 访问控制列表(Access Control Lists,ACL),RocketMQ权限管理模块broker 接收客户端请求,处理消息分发,存储消息数据等client MQ客户端,包括Producer和Consumercommon 用于存储RocketMQ项目的通用代码和Model等dev merge_rocketmq_pr.py脚本,用于处理RPdistribution Client、Namesrv、Broker等启动脚本原创 2020-12-16 11:22:04 · 1909 阅读 · 3 评论