Kafka笔记6(数据传递的可靠性)

本文深入探讨了Kafka消息队列的可靠性机制,包括消息的顺序保证、提交策略、生产者重试机制及消费者配置。解析了broker与主题级别的关键参数设置,如复制系数、最少同步副本数及发送确认方式,以确保消息的持久性和一致性。

Kafka保证分区消息的顺序,“先入先出”

只有当消息被写入分区的所有副本时,才被认为已提交的

只要有一个副本是活跃的,已提交的消息就不会丢失

消费者只能读取已经提交的消息

 

如果一个或多个副本在同步/非同步之间状态快速切换,说明集群内出现问题,通常是JAVA不恰当的垃圾回收配置导致的

broker安全配置参数:

  复制系数:

    主题级别复制系数 replication.factor    

    broker级别复制系数: default.replication.factor 

  不完全的首领选举:

    unclean.leader.election=true  broker级别配置   允许不同步的副本成为首领,会面临丢失消息的风险

  最少同步副本:

    min.insync.replicas (主题和broker级别)

  

发送确认:

ack=0 容易丢失消息

ack=1 也会存在丢失消息的问题

ack=all 不会丢失消息,但是会降低吞吐量

 

配置生产者重试参数:

  broker 返回 LEADER_NOT_AVAILABLE 是一个可重试错误

  broker返回 INVALID_CONFIG 是一个不可重试错误

  

消费者的可靠性配置:

  group.id 

  auto.offset.reset 指定没有偏移量提交时或请求的偏移量在broker上不存在时,消费者会做什么

    =earliest  消费者会从分区开始位置读取数据

    =latest   消费者从分区末尾开始读取数据

  enable.auto.commit  消费者基于任务调度自动提交偏移量

  auto.commit.interval.ms   与上一个参数搭配使用,自动提交偏移量的频率

 

 

  

    

转载于:https://www.cnblogs.com/zy1234567/p/10342681.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值