Kafka/RocketMQ架构对比

本文对比分析了Kafka与RocketMQ在Broker设计、ZK与NameSrv的角色区别。Kafka的Broker是物理概念,可以同时是Leader和Follower,而RocketMQ的Master/Slave是固定的物理角色。Kafka依赖ZK做元数据管理和选举,RocketMQ则使用无状态的NameSrv,简化了架构,但也带来了通信成本高和一致性问题。
摘要由CSDN通过智能技术生成

一、Broker设计对比

1. Kafka
image
  • Topic A共有2个分区,每个分区有两个副本(一个Leader一个Follower),分别分布在 Broker0 和 Broker1 上;
  • Broker0/Broker1每台机器既是Leader,也是Follower。具体来说,比如机器Broker0对于Partition0来说是Master,对于Partition1来说又是Follower;
2. RocketMQ
image
  • Broker集群中有Broker0和Broker1为Leader,每个Broker有两个Slave,共6台机器;
  • Master0/Slave0_0/Slave0_1/Master1/Slave1_0/Slave1_1每台机器通过配置固定只能充当Master或Slave;
  • TopicA在Broker0上有两个队列,在Broker1上有两个队列;
3. 对比

1.Kafka的Leader/Follower是个逻辑概念,1台机器可以同时具有Leader角色和Follower角色;RocketMQ的Master/Slave是个物理概念,1台机器,只能是Master或者Slave。在集群初始配置的时候,指定死的;2.Kafka的Broker是个物理概念,1个broker就对应1台机器。 RocketMQ的Broker是个逻辑概念,1个broker = 1个master + 多个slave,brokerName相同,Master的brokerId=0࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农老K

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值