1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update RocketMQ-Questions.md

This commit is contained in:
anaer 2021-09-16 17:39:58 +08:00 committed by GitHub
parent e4a4e1c300
commit b0014acf01
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -190,7 +190,7 @@ class Broker {
### 2.1.10 RocketMQ 不使用 ZooKeeper 作为注册中心的原因,以及自制的 NameServer 优缺点?
1. ZooKeeper 作为支持顺序一致性的中间件在某些情况下它为了满足一致性会丢失一定时间内的可用性RocketMQ 需要注册中心只是为了发现组件地址在某些情况下RocketMQ 的注册中心可以出现数据不一致性,这同时也是 NameServer 的缺点,因为 NameServer 集群间互不通信,它们之间的注册信息可能会不一致
2. 另外当有新的服务器加入时NameServer 并不会立马通知到 Produer而是由 Produer 定时去请求 NameServer 获取最新的 Broker/Consumer 信息(这种情况是通过 Producer 发送消息时,负载均衡解决)
2. 另外当有新的服务器加入时NameServer 并不会立马通知到 Producer而是由 Producer 定时去请求 NameServer 获取最新的 Broker/Consumer 信息(这种情况是通过 Producer 发送消息时,负载均衡解决)
### 2.1.11 其它
@ -201,13 +201,13 @@ class Broker {
2. 消息重试负载均衡策略(具体参考 Dubbo 负载均衡策略)
3. 消息过滤器Producer 发送消息到 BrokerBroker 存储消息信息Consumer 消费时请求 Broker 端从磁盘文件查询消息文件时,在 Broker 端就使用过滤服务器进行过滤)
4. Broker 同步双写和异步双写中 Master 和 Slave 的交互
5. Broker 在 4.5.0 版本更新中引入了基于 Raft 协议的多副本选举,之前这是商业版才有的特性 [ISSUE-1046][2]
5. Broker 在 4.5.0 版本更新中引入了基于 Raft 协议的多副本选举,之前这是商业版才有的特性 [ISSUE-1046][2]
# 3 参考
1. 《RocketMQ技术内幕》https://blog.csdn.net/prestigeding/article/details/85233529
2. 关于 RocketMQ 对 MappedByteBuffer 的一点优化https://lishoubo.github.io/2017/09/27/MappedByteBuffer%E7%9A%84%E4%B8%80%E7%82%B9%E4%BC%98%E5%8C%96/
3. 阿里中间件团队博客-十分钟入门RocketMQhttp://jm.taobao.org/2017/01/12/rocketmq-quick-start-in-10-minutes/
3. 十分钟入门RocketMQhttps://developer.aliyun.com/article/66101
4. 分布式事务的种类以及 RocketMQ 支持的分布式消息https://www.infoq.cn/article/2018/08/rocketmq-4.3-release
5. 滴滴出行基于RocketMQ构建企业级消息队列服务的实践https://yq.aliyun.com/articles/664608
6. 基于《RocketMQ技术内幕》源码注释https://github.com/LiWenGu/awesome-rocketmq