22 | Kafka和RocketMQ的消息复制实现的差异点在哪?
该思维导图由 AI 生成,仅供参考
消息复制面临什么问题?
- 深入了解
- 翻译
- 解释
- 总结
Kafka和RocketMQ是两种常见的消息队列系统,它们在消息复制实现上存在一些差异。消息队列的复制实现需要解决高性能、高可用和数据一致性的矛盾,涉及到写入性能、一致性要求和高可用性的问题。一般采用主从复制方式来保证数据一致性,但在高可用方面需要解决主节点宕机后的快速选举问题。不同的消息队列选择了不同的复制实现方式,各有优缺点。 Kafka采用分区副本机制来实现消息复制,通过将消息分区复制到多个节点来提高可用性和数据可靠性。Kafka的复制机制能够提供较高的写入性能和较好的一致性保证,但在主节点宕机后的选举过程可能会导致服务不可用。另一方面,RocketMQ采用主从复制方式,通过主节点写入数据,从节点复制数据来保证一致性。RocketMQ的复制实现能够提供较好的一致性和可用性,但在写入性能方面可能会受到一定影响。 总的来说,Kafka和RocketMQ在消息复制实现上存在差异,各自的复制机制在高性能、高可用和一致性方面提供的能力也有所不同。阅读本文可以帮助读者了解Kafka和RocketMQ的消息复制实现的差异点,以及它们在解决消息队列复制过程中所面临的挑战和取舍。 RocketMQ提供了传统的主从模式和新的基于Dledger的复制方式,而Kafka提供了基于ISR的更加灵活可配置的复制方式。每种方式都有其优缺点,读者可以根据实际需求做出取舍,然后再去配置消息队列的复制方式。
《消息队列高手课》,新⼈⾸单¥59
全部留言(34)
- 最新
- 精选
- a、5副本,10个分区,至少保持isr集合中有三个broker bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 5 --partitions 10 --topic test min.insync.replicas=3
作者回复: 👍👍👍
2019-09-26535 - kiddkidd老师,对于文中“由于消息要至少复制到 2 个节点上才会返回写入成功,即使主节点宕机了,也至少有一个节点上的消息是和主节点一样的”我有个疑问: 假如1主2从3副本条件下,主收到msg1,并复制到从1,之后主又收到msg2,并复制到从2. 然后主节点宕机了,此时从1和从2都跟主不一样啊。请问如何理解?
作者回复: 消息的复制是按照顺序来复制的,因为msg2在msg1后面,如果说,msg2已经复制到从2上,那从2上一定有msg1,所以不存在你说这种情况。
2020-01-11222 - WL请问一下老师,kafka消息复制中,“Broker只是副本分区的容器,Broker不分主从” 这句话具体怎么理解? 是指一个Broker上可能有Topic1的partition2的从副本和Topic2的partition1的主副本,所以在Broker上不分主从,是这样吗?
作者回复: 没错,就是这样的。
2019-10-1315 - 郑勺子请问老师~可用于消息中间性能测试的工具有哪些~
作者回复: 你可以参考一下这个:https://github.com/openmessaging/openmessaging-benchmark/
2019-09-1711 - 丁小明看起来好像新的rocktmq复制方式,就是内置了类似zk一样的一致性协调器。
作者回复: 是的,RocketMQ新的复制方式采用的也是Raft一致性协议。
2020-05-059 - 极客雷RocketMQ不满足京东的使用场景吗?
作者回复: RocketMQ是很优秀的开源MQ,京东的JMQ“年纪”和RocketMQ是差不多的。在当年还没有RocketMQ的时候,其它的MQ又满足不了需求,所以就诞生了JMQ。
2020-03-2123 - 二货所有的 ISR 节点都宕机了,分区就无法提供服务了。你也可以选择配置成让分区继续提供服务,这样只要有一个节点还活着,就可以提供服务 老师,这里ISR节点都宕机了,分区为啥还是正常的,ISR不就是分区副本吗
作者回复: ISR只是分区的一部分副本,不是全部。 比如,一个分区3副本,ISR可以配置为2。
2020-05-0222 - 夏目老师,这种不是同步方式吗?-- Kafka 在写入消息的时候,采用的也是异步复制的方式。消息在写入到主节点之后,并不会马上返回写入成功,而是等待足够多的节点都复制成功后再返回。
作者回复: 从请求响应角度来说,是同步请求。 实现方式上,采用的是异步方式来实现的。
2020-01-092 - 饭粒请教下老师,kafka 使用时是一个节点对应一个 broker 吗?然后 broker 作为分区副本容器存放不同主题-分区的主/从副本。
作者回复: 是这样的。
2019-11-162 - 李先生玥哥,有两个问题: 1: 比如kafka,1个主节点2个从节点,一个topic有3个分区。为什么3个主分区会均匀的分布在3个节点上,而不是3个主分区都在主节点上,副本分区在从节点上。或者说这两者有什么区别? 2: kafka是主从模式,读写都在主节点,如果是生产者生产一个消息到主分区1,假如主节点上的分区1是副本分区,这时候这个消息是先写入主节点的副本分区1上吗?
作者回复: Kafka的Broker并没有主从之分,它就是一个分区的容器,它选举和复制的基本单位是分区,每个分区都会有n个副本(比如说3个),那这三个副本分别位于3个节点上,会选出一个作为Leader分区。所以这些分区均匀分布在所有的Broker让,并且最好让Leader也均匀分布,有助于平均利用每个Broker的资源。
2020-03-261