Kafka数据一致性问题

文章探讨了生产者在不同ACK模式下(至少一次,最多一次,精确一次)确保数据传输的策略,包括幂等性和事务在确保数据准确性的角色。同时,指出了broker在leader故障时可能引发的数据不一致性和只保证一致性但无法避免重复或丢失问题。对于消费者,文章提到了手动和自动提交offset可能导致的漏消费与重复消费问题。
摘要由CSDN通过智能技术生成

1 生产者

   ack -1 0 1 

   至少一次

   最多一次

   精确一次 -1 + 副本数大于等于2 + isr响应大于等于2 

   幂等性+事务

2 boker

  leader挂掉之后引起不不一致 HW LEO

  仅仅保证了数据的一致性,未解决数据的重复性和漏掉问题

3 手动提交offset和自动提交offset引起的问题 (消费者事务)

  手动提交:漏消费

  自动提交:重复消费

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka是一个分布式流处理平台,它提供了高可靠性、高吞吐量的消息队列服务。在Kafka中,数据一致性是一个重要的问题,特别是对于副本之间的数据一致性Kafka使用了多个副本来保证数据的可靠性和容错性。当生产者将消息发送到Kafka集群时,消息会被写入到多个主题的多个分区中。每个分区都有多个副本,其中一个被选为领导者(leader),其他副本则作为追随者(follower)。 Kafka使用了分布式复制协议来保证副本之间的数据一致性。领导者负责接收并写入消息,而追随者则通过复制领导者的数据来保持同步。当消息被写入领导者后,它会被异步地复制到追随者。这种异步复制的机制可以提高Kafka的吞吐量和性能。 在正常情况下,领导者和追随者之间的数据是一致的。当追随者发生故障或无法及时复制数据时,Kafka会尝试重新同步追随者和领导者之间的数据。这个过程被称为副本同步。在副本同步期间,如果某个追随者无法及时复制数据,则会被标记为“落后”状态。只有当所有追随者都达到同步状态后,才认为数据一致性得到保证。 总的来说,Kafka通过使用多个副本以及复制协议来保证数据一致性。虽然在某些情况下可能存在数据延迟或不一致的情况,但Kafka提供了可靠性和容错性的保证,可以满足大部分实时数据处理的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值