rocketmq分布式事务 kafka的一致性为什么不替换成raft?
~!1:卡夫卡在2011捐赠给阿帕奇基金会,拉夫的论文是在寻找一个潜在的共识算法,由斯坦福大学在2013出版,卡夫卡出生在RAFT之前。当1/3节点不可用时,服务不可用。Kafka中维护的ISR(in-sync replica,同步副本)可以提供服务,即使副本不可用,只剩下领头羊
3:更大的数据吞吐量。Raft适用于强一致性
需要一个存储元信息的地方。Zookeeper也是分布式的,这对于配置管理来说是更好的。所以我用了它。
没有zookeeper,我们还需要一种机制来存储元数据和交换集群信息。
卡夫卡的官方文件有说明。Zookeeper是解决分布式一致性问题的工具。
至于Kafka为什么使用ZK,您应该首先了解ZK作为分散集群模式的作用。
消费者需要知道哪些生产者(对于消费者来说,卡夫卡是生产者)是可用的。
如果没有ZK,消费者怎么知道?如果每个消费者在消费之前都尝试连接到生产者,以测试连接是否成功,那么效率问题如何解决。
因此,卡夫卡需要ZK,卡夫卡的设计依赖于ZK。
kafka的一致性为什么不替换成raft?
卡夫卡的分布式单元是分区。Kafka保证分区中的数据是有序的,而分区之间的数据不能保证顺序。多分区的特性使Kafka在一定程度上具备了分布式消息传递的能力。
在业务中,我们需要将需要严格排序的数据放在一个分区上,同时,我们需要将可以分发到其他分区的消息放在一个分区上,以确保高性能。
rocketmq分布式事务 kafka如何保证一致性 分布式
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。