Kafka数据丢失和重复消费分析

当生产者向Kafka broker写数据时,可以使用ack机制来解决数据传输过程中数据丢失的问题,启用ack(比如ack=1)机制下,若生产者一直未收到上一个消息的回复,则会一直等待直到收到ack信号才会发送下一个消息,数据不会丢失。

Kafaka如果将数据使用file方式作为缓存,则文件在磁盘上,数据不会丢失,若采用memory方式,则只能通过添加partition副本方式来备份数据,因为若Kafka所在节点宕机,则内存数据会丢失,若无备份,则数据会丢失。

当别的系统如Flume,Spark等从Kafka拉取数据的时候,每拉取一条数据,Kafka会自动更新一个offset偏移量,这个偏移量记录了这个消费者组消费数据的位置,偏移量可以由Kafka自动提交,也可可以由消费者手动提交。若发生宕机事故,可以根据offset偏移量来定位数据消费位置,从而不会重复消费或者丢失数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值