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