mq消息消费,broker选址
2024-10-16 04:44:34
PullRequest.MessageQueue.BrokerName
根据PullRequest.MessageQueue得到brokerId,默认0或者用缓存中的suggest,每次消息拉取后会更新sugestBrokerId到缓存,
BorkerName+brokerId在缓存(brokerAddrTable)中找到broker的地址
PullRequest在每20s的重平衡加入,MessageQueue是从NameServer取得的topic的订阅信息中拿到
消息发送:
1.TopicPublishInfo.MessageQueue
2.MessageQueue.brokerName
3.private final ConcurrentMap<String/* Broker Name */, HashMap<Long/* brokerId */, String/* address */>> brokerAddrTable =
new ConcurrentHashMap<String, HashMap<Long, String>>();
brokerAddrTable.get(brokerName).get(0)
看下发送时如何负载均衡的,可以看到如果发生重试(lastBrokerName 不为null)优先选上次失败的brokerName。否则逐个轮询
最新文章
- 如何在springmvc的请求过程中获得地址栏的请求
- 模拟ajax的 script请求
- iOS导航栏标题颜色
- 周爱民:真正的架构师是没有title的(图灵访谈)
- 水晶报表13.x(Crystal Reports for VS2010)的安装部署经验
- 学习《Javascript权威指南》的第二章笔记
- perl5 第七章 控制结构
- Chapter 1 First Sight——10
- PL/SQL Developer使用技巧、快捷键、存储过程调试
- 关于STM32的延时问题
- tp5 整合 个推
- nodeJS之crypto模块md5和Hmac加密
- 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回
- Linux源码编译安装程序
- python中dir(),__dict__
- 进阶之路(基础篇) - 010 Arduino 函数(基本、串口、SPI)
- 几乎考虑到了每个细节的php图片上传
- PHP通过日志来发现问题
- 亿级别记录的mongodb分页查询java代码实现
- PyCharm 自定义文件和代码模板