二、Kafka生产者
2.1 ack机制
上一篇中介绍了Kafka本身中一些存储、主从以及数据一致性的机制,这里将会进一步解释Kafka中生产者的运行原理,在前面说到ISR机制时,提到ack机制。这里将会进行详细阐述,Kafka的生产者与Kafka之间的通信机制——ack
方案 | 优点 |
---|---|
半数以上完成同步,就发送ack | 延迟低 |
全部 完成 同步 ,才发送ack | 选举新的 leader 时,容忍 n 台节点的故障,需要 n+1 个副本 |
当然,两者的缺点也是横明显的
方案 | 缺点 |
---|---|
半数以上完成同步,就发送ack | 选举新的 leader 时,容忍 n 台节点的故障,需要 2n+1 个副本 |
全部 完成 同步 ,才发送ack | 延迟高 |
由于Kafka的副本机制和分区机制,若是采用半数以上完成同步,就发送ack,会导致大量数据的冗余,所有选用第二种方法。