首先说明,Kafka 的设计就是 at-least-once 的
即使这样配置了,Kafka 在极端环境下也并非确保绝对不丢数据!!!
Kafka HA 如何保障? 官方的意思是尽可能多节点集群部署,节点数尽可能大于等于3,并且 replication 数量也是大于等于3,那么当 replication 数量为 N 时,ack 设置为 all,这种情况下,就能确保 N-1台机子宕机的时候,数据仍能保持不丢。