kafka副本

主题可划分成若干个分,每个分区配置有若干个副本。副本(Replica),本质是一个只能追加写消息的提交日志

副本分类

副本分成两类:领导者副本(Leader Replica)和追随者副本(Follower Replica)。每个分区在创建时都要选举一个副本,称为领导者副本,其余的副本自动称为追随者副本。

  • 所有的读写请求都必须发往领导者副本所在的 Broker,由该 Broker 负责处理。

  • 追随者副本是不对外提供服务的。从领导者副本异步拉取消息,并写入到自己的提交日志中,从而实现与领导者副本的同步。

  • 领导者副本所在的 Broker 宕机时,Kafka 依托于 ZooKeeper 提供的监控功能能够实时感知到,并立即开启新一轮的领导者选举,从追随者副本中选一个作为新的领导者。

优势

1.方便实现“Read-your-writes”:

2.方便实现单调读(Monotonic Reads):在多次消费消息时,它不会看到某条消息一会儿存在一会儿不存在。

In-sync Replicas(ISR)

与 Leader 同步的副本,包括 Leader 副本。

标准就是 Broker 端参数 replica.lag.time.max.ms 参数值。这个参数的含义是 Follower 副本能够落后 Leader 副本的最长时间间隔。

Unclean 领导者选举

非同步副本落后 Leader 太多,并选择这些副本作为新 Leader。

Broker 端参数 unclean.leader.election.enable 控制是否允许 Unclean 领导者选举。


   转载规则


《kafka副本》 wangyixin-tom 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
kafka Broker请求处理 kafka Broker请求处理
所有的请求都是通过 TCP 网络以 Socket 的方式进行通讯的。 Kafka 使用的是 Reactor 模式处理请求。 Reactor 模式是事件驱动架构的一种实现方式,特别适合应用于处理多个客户端并发向服务器端发送请求的场景。多个客户
2021-03-28
下一篇 
kafka消费者 kafka消费者
消费者组Consumer Group 是 Kafka 提供的可扩展且具有容错性的消费者机制。 Consumer Group 下可以有一个或多个 Consumer 实例。 Group ID 是一个字符串,在一个 Kafka 集群中,它标识唯
2021-03-23
  目录