首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
Kafka简介
Kafka工作流程
Kafka存储机制
Kafka分区机制
Kafka生产者与消费者
Kafka ack机制
安装Kafka
Producer消息缓存模型
指定副本作为Leader
Kafka的ISR伸缩机制
acks和mir配置详解
Kafka主动修改分区Leader
Kafka向Server发起请求
当前位置:
首页>>
技术小册>>
kafka入门到实战
小册名称:kafka入门到实战
本节介绍以下几个内容 - acks的用法 - min.insync.replicas的用法 - ack和mir搭配使用的可靠性 1.acks解析 acks的配置有3个选项,分别为 0、1、all(-1) 每个含义分别为: 0: 生产者不会等待服务器的任何确认, 该记录将立即添加到Socket Buffer Pool 并被视为已发送,这种情况,不保证发送成功,可能会丢失数据。 1: 这个保证了至少Leader副本会将数据写入到本地日志中,不管其他副本是否写入。所以当Leader同步成功之后,还没有来得及同步给Follower副本就宕机了。那么就会丢失数据。 ![](/uploads/images/20230710/9cf91f263068db2afbc3515f51c7870e.png) all: 这个确保ISR中的所有同步副本列表中都确认写入了数据之后,才会视为发送成功, 所以这个配置可以提供最高级的数据可靠性的保证, 不会丢失数据。 ![](/uploads/images/20230710/6e1d73583503fcc327dcc0e64131e94d.png) 2 .min.insync.replicas 解析 最小同步副本数, 表示的是 ISR 列表里面最小的个数。这个是跟acks=-1/all配套使用的,默认是=1。 这个配置再加上上面的acks=all是不是就可以设置高可靠性了 特别需要注意: 这个配置是用来设置同步副本个数的下限的, 并不是只有 min.insync.replicas 个副本同步成功就返回ack。 只要你acks=all 就意味着你ISR里面的副本必须都要同步成功。 留个问题思考一下 当Broker单副本, acks=all 的情况下 1. Broker正常关机,会不会导致消息丢失 2. Broker异常crash, 会不会导致消息丢失 3. 物理机正常关机, 会不会导致消息丢失 4. 物理机异常掉电关机,会不会导致消息丢失
上一篇:
Kafka的ISR伸缩机制
下一篇:
Kafka主动修改分区Leader
该分类下的相关小册推荐:
Kafka面试指南
Kafka核心技术与实战
Kafka核心源码解读
消息队列入门与进阶
Kafka 原理与源码精讲