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 条评论
 下一页
  
   
   
   
   
  
  
  
  
  
  
  
  
 