Kafka可靠性保证

可靠性

  1. 保证分区有序,消费者多线程时保证有序需要通过多个队列处理
  2. 生产者重试机制
  3. 副本机制(高可用性)
  4. 只有写入的数据被 同步到 所有的ISR中的 副本后,数据才认为已提交,HW更新到该位置,HW之前的数据才可以被消费者访问,保证 没有 同步完成的数据不会被消费者 访问到
  5. 0.11版本之后,生产者单会话幂等性保证(生产者通过pid-seq发送给服务端,服务端通过过滤保证不重复消费),多会话幂等性保证(kafka事务保证了如果机器重启时,TransactionCoordinator会为新的producer返回之前的pid,而不是新的pid)
  6. 服务端幂等性保证,多次增加100美元,结果也只是增加了100美元,就是防止了重复消费(重复消息的解决方案, 根据messageId消费者端做消费过滤 )
  7. customer_offerset主题保证提交有效性。
  8. 挤压信息处理方式,新建topic(数据需要转移到此处),分区是以前十倍,借助多台机器快速消费。具体可参考参考文章1

参考文章

  • 分布式消息队列:如何保证消息的顺序性
  • 分布式消息队列:如何保证消息队列的高可用
  • 分布式消息队列:如何保证消息不被重复消费?(消息队列消费的幂等性)
  • 关于Kafka幂等性的原理及实践
  • kafka的可靠性保证

你可能感兴趣的:(Kafka可靠性保证)