kafka

本文探讨了Kafka如何确保数据的可靠性和一致性。通过设置ack值为-1,确保至少一个副本接收到消息;保持分区副本数大于等于2以提供容错性;并要求ISR中至少两个副本响应。同时,介绍了幂等性特性,防止单分区单会话内的消息重复,并在开启事务时进一步增强数据的一致性。此外,还讨论了Kafka的有序性保证,特别是在1.x版本后的配置变化。
摘要由CSDN通过智能技术生成

kafka可靠性保障:

一  ack 值为-1

二 分区副本大于等于2

三 ISR里应答的最小副本数量大于等于2

kafka数据重复问题:

一 幂等性(默认开启  ,enable.idempotence设置为true即可)

具有<PID,Partition, SeqNumber>相同主键的消息提交时,Broker只会持久化一条。

PID: Kafka每次重启后分配一个

Partition:分区号

Sn:单调递增

幂等性保障单分区单回话内不重复

二 事务

开启事务,必须开启幂等性

对事务Id求模于50的结果确认事务分区。在目标分区内找到对应的事务协调器,对该事务负责

精确一次 = 数据重复避免+ 可靠性 保障

三 kafka数据有序

单分区内有序 多分区,分区与分区间无序

1.x之前:

max.int.flight.requests.per.connection=1

1.x之后:

      未开启幂等性:

            max.int.flight.requests.per.connection=1

      开启了幂等性:

           max.int.flight.requests.per.connection=5(根据序列号   保障5个有序)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值