本文所有Kafka原理性的描述除特殊说明外均基于Kafka1.0.0版本。Kafka事务机制的实现主要是为了支持1.ExactlyOnce即正好一次语义2.操作的原子性3.有状态操作的可恢复性《Kafka背景及架构介绍》一文中有说明Kafka在0.11.0.0之前的版本中只支持AtLeastOnce和AtMostOnce语义,尚不支持ExactlyOnce语义。但是在很多要求严格的场景下,如使用Kafka处理交易数据,ExactlyOnce语义是必须的。我们可以通过让下游系统具有幂等性来配合Kafka的AtLeastOnce语义来间接实现ExactlyOnce。但是:1.该方案要求下游系统支持