
Kafka有两个很重要的配置参数,acks与min.insync.replicas.其中acks是producer的配置参数,min.insync.replicas是Broker端的配置参数,这两个参数对于生产者不丢失数据起到了很大的作用.接下来,本文会以图示的方式讲解这两个参数的含义和使用方式。通过本文,你可以了解到:
- Kafka的分区副本
- 什么是同步副本(In-sync replicas)
- 什么是acks确认机制
- 什么是最小同步副本
- ack=all与最小同步副本是如何发挥作用的
分区副本
Kafka的topic是可以分区的,并且可以为分区配置多个副本,改配置可以通过replication.factor参数实现. Kafka中的分区副本包括两种类型:领导者副本(Leader Replica)和追随者副本(Follower Replica),每个分区在创建时都要选举一个副本作为领导者副本,其余的副本自动变为追随者副本. 在 Kafka 中,追随者副本是不对外提供服务的,也就是说,任何一个追随者副本都不能响应消费者和生产者的读写请求. 所有的请求都必须由领导者副本来处理. 换句话说,所有的读写请求都必须发往领导者副本所在的 Broker,由该 Broker 负责处理. 追随者副本不处理客户端请求,它唯一的任务就是从领导者副本异步拉取消息,并写入到自己的提交日志中,从而实现与领导者副本的同步.
Kafka默认的副本因子是3,即每个分区只有1个leader副本和2个follower副本.具体如下图所示:

本文深入剖析Kafka生产者的acks确认机制和最小同步副本配置,探讨如何保证数据不丢失。介绍了ISR同步副本的概念,分析了acks参数(acks=0, 1, all)对消息丢失的影响,并通过案例解析min.insync.replicas参数的作用。"
132195412,19671764,Matlab实现多目标优化布谷鸟算法详解,"['算法', '优化', 'Matlab', '多目标优化', '启发式算法']
最低0.47元/天 解锁文章
4569

被折叠的 条评论
为什么被折叠?



