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