kafka数据丢失的场景
2023-07-03 12:15:24 7 举报
kafka数据丢失的场景
作者其他创作
大纲/内容
选举成为新leader
broker3partition1副本3leader
生产者
问题1:kafka在接收数据1,但是还没有来的及同步给两个follower,就宕机了,后续选举的新leader还没有数据1的信息,消费者消费不到数据1,导致数据丢失
问题2:消费者消费到这个消息,消费者自动提交了offset,然后还没有处理完成,宕机了,这就导致了kafka以为消息消费完了,导致消息丢失
broker2partition1副本2follower1
broker1partition1副本1leader
同步
broker3partition1副本3follower2
解决方案:关闭自动提交offset,消费者在处理完消息之后,自动提交,有可能会发生重复消费,需要保证幂等性
数据1
解决方案:1.给这个topic设置replication.factor参数:这个值必须大于1,表示一个topic至少两个副本2.在kafka的服务端设置min.insync.replicas参数:这个值必须大于1,这个是leader至少感知到一个follower还和自己保持联系3..在生产端设置acks = all:这是要求每条数据都同步到所有follower之后,生产者才认为数据发送成功4.在生产端设置retries = Max:要求生产者写入消息失败的时候,无线重试这样可以保证kafka的数据不会丢失
消费者
消费不到数据1
0 条评论
回复 删除
下一页