kafka模块

kafka 数据丢失问题,及如何保证?

1、kafka 数据丢失问题

    a、acks=1 的时候(只保证写入 leader 成功),如果刚好 leader 挂了,则数据会丢失。

    b、acks=0 的时候,使用异步模式的时候,该模式下 kafka 无法保证消息,有可能会丢。

2、brocker 如何保证不丢失

    a、acks=all      所有副本都写入成功并确认。

    b、retries=一个合理值        kafka 发送数据失败后的重试值。(如果总是失败,则可能是网络原因)

    c、min.insync.replicas=2   消息至少要被写入到这么多副本才算成功。

    d、unclean.leader.election.enable=false  关闭 unclean leader 选举,

       即不允许非 ISR 中的副本被选举为 leader, 以避免数据丢失。

3、consumer 如何保证不丢失?

    a、如果在消息处理完成前就提交了 offset,那么就有可能造成数据的丢失。

    b、enable.auto.commit=false 关闭自动提交 offset。

    c、处理完数据之后手动提交。

 

kafka 保证消息顺序

1、全局顺序

  a、全局使用一个生产者,一个分区,一个消费者。

2、局部顺序

  a、每个分区是有序的,根据业务场景制定不同的 key 进入不同的分区。

 

https://gitchat.csdn.net/activity/5ad5634e1165247fd990c306?utm_source=so

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值