rocketmq consume学习笔记
来源:互联网 发布:video.js点击全屏播放 编辑:程序博客网 时间:2024/04/30 08:41
consumer与NameServer Broker之间的通讯
先看一下MQClientInstance的startScheduledTask方法,里面有很多定时任务
MQClientInstance.this.mQClientAPIImpl.fetchNameServerAddr(); 定期获取NameServer地址 周期是2分钟
MQClientInstance.this.updateTopicRouteInfoFromNameServer(); 定期更新topicroute信息 周期是pollNameServerInteval 这个可以配置
MQClientInstance.this.cleanOfflineBroker(); MQClientInstance.this.sendHeartbeatToAllBrokerWithLock();
清除断线的broker,向broker发送心跳,周期是heartbeatBrokerInterval 可配置,
MQClientInstance.this.persistAllConsumerOffset();
MQClientInstance.this.adjustThreadPool();
MQClientInstance.sendHeartbeatToAllBrokerWithLock();
这个发送心跳是在DefaultMQPushConsumer start启动的过程中和DefaultMQPushConsumer subscribe订阅topic 都会发送心跳,超时时间3秒
consumer订阅topic
订阅的信息记录在RebalanceImpl一个map中,ConcurrentHashMap<String /* topic */,SubscriptionData>
这个RebalanceImpl在消费消息的时候解释
consumer消费消息
consume消费有2种模式 push 和 pull 本质都是pull,push是封装了pull的过程,然后推送到监听器,
消费service ConsumeMessageService,有2个子类,ConsumeMessageConcurrentlyService和ConsumeMessageOrderlyService
注册registerMessageListener有2中类型,
如果是MessageListenerConcurrently,MessageService就是ConsumeMessageConcurrentlyService
如果是MessageListenerOrderly,MessageService就是ConsumeMessageOrderlyService
是一一对应的。
待写。。。
- rocketmq consume学习笔记
- rocketmq入门学习笔记
- rocketmq学习笔记 三 rocketmq功能梳理
- rocketmq学习笔记 四 rocketmq运行架构
- ROCKETMQ 搭建 学习i笔记
- consume
- rocketmq学习笔记 五 源码之rocketmq-namesrv
- rocketmq学习笔记 五 源码之rocketmq-tools
- rocketmq学习笔记 五 源码之rocketmq-store
- rocketmq学习笔记 五 源码之rocketmq-broker
- rocketmq学习笔记 五 源码之rocketmq-filtersrv
- rocketmq学习笔记 五 源码之rocketmq-remoting
- rocketmq学习笔记 一 hello world
- rocketmq学习笔记 二 官方实例<广播>
- rocketmq学习笔记 一 hello world
- rocketmq笔记
- RocketMQ学习
- RocketMq学习
- UVa 11549 Calculator Conundrum (模拟+Floyd判环)
- 代码路上的自省
- PHP设计模式系列 - 装饰器
- zeromq 中的 zmq_bind
- WPF 无边框拖动
- rocketmq consume学习笔记
- zeromq 中的 zmq_close
- MySQL中的binlog相关命令和恢复技巧
- MyBatis Generator自动生成实体代码
- 使用生成的Framework 运行报错(Reason: Image Not Found)
- 友盟iOS 错误日志定位
- nginx配置location总结及rewrite规则写法
- 高手总结的“恋爱法”学习Linux系统,效果更好
- 伪代码的写法