kafka raft协议

1、首先要了解kafka是什么(Scala)

Kafka是一个分布式的消息订阅系统,消息被持久化到一个topic中,topic是按照“主题名-分区”存储的,一个topic可以分为多个partition,在parition(分区)内的每条消息都有一个有序的id号,这个id号被称为偏移(offset),记录消息的消息位置**。

高可用性和扩展性,而不是负载均衡。**

具体来说,Kafka 通过将主题(topic)分为多个分区(partition),并将每个分区复制到多个节点上来实现高可用性和扩展性。每个分区都有一个主节点(leader)和多个副本节点(replica)。主节点负责处理来自生产者的消息和消费者的读取请求,而副本节点则用于备份数据并提供冗余。如果主节点失效,Kafka 会自动选举一个副本节点作为新的主节点,以保持服务的连续性。**

虽然分区机制可以提高系统的整体吞吐量,但它并不是为了实现负载均衡而设计的。相反,Kafka 更关注的是数据的持久性、可用性和容错能力**。

实际上,Kafka 集群中只有分区的主节点(leader)负责处理来自生产者的消息和消费者的读取请求,而其他节点维护分区的副本(replica)。

具体来说,Kafka 集群中的每个分区都有一个主节点和多个副本节点。主节点负责处理生产者发送的消息并将其追加到分区的日志中࿰

你可能感兴趣的:(kafka,分布式)