rocketmq源码分析
文章平均质量分 67
rocketmq源码分析
changjh1
这个作者很懒,什么都没留下…
展开
-
rocketmq rebalance
接着上编文章继续this.rebalanceService.start(); // 重平衡 public void run() { log.info(this.getServiceName() + " service started"); while (!this.isStopped()) { this.waitForRunning(waitInterval); this.mqClientFactory.原创 2021-05-11 16:30:25 · 330 阅读 · 0 评论 -
rocketmq push消费信息
一、使用推送模式,设置消费者所属组,订阅主题、定义消息消费回调接口,推送消息后消费方具体业务处理,并返回CONSUME_SUCCESS表示消费成功。/* * Instantiate with specified consumer group name. */ DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("please_rename_unique_group_name_4");.原创 2021-05-11 16:11:18 · 298 阅读 · 1 评论 -
Rocketmq 通信协议及编解码
一.通信协议的格式 1.length:4字节整数,二三四部分长度总和;(length - 4 - headLength) 2.header length:4字节整数,第三部分header data长度; 3.header data:存放Json序列化的数据; 4.body data:应用自定义二进制序列化的数据。二.消息的编码过程public ByteBuffer encode() { // 1> header length size ...原创 2021-05-06 16:45:08 · 1929 阅读 · 0 评论 -
RocketMQ为什么要保证订阅关系的一致性
问题:同一个订阅组内不同Consumer实例订阅不同topic消费混乱问题调查subscriptionData = consumerGroupInfo.findSubscriptionData(requestHeader.getTopic());if (null == subscriptionData) { log.warn("the consumer's subscription not exist, group: {}, topic:{}", requestHeader.getConsumerG转载 2020-06-14 23:28:15 · 464 阅读 · 0 评论 -
rocketmq consumer
1: consumer会每30s从nameserver上更新所订阅的topic路由列表,同时会更新broker路由->brokerName与角色和地址关系2: consumer会每30s与所有broker进行一次心跳,将clientid,topic,group发送至brokerrebalance开始: consumer会每10s进行一次rebalance1 首先选择一个broker,根据topic和group查询到订阅此topic的属于同一group的所有的consumer clientid..原创 2020-06-13 23:50:53 · 875 阅读 · 0 评论 -
rocketmq IndexFile源码分析
IndexFile 存储具体消息索引的文件,文件的内容结构如图原创 2020-05-19 23:23:31 · 256 阅读 · 0 评论