Kafka生产者幂等性与事务
幂等性
类似网站重复提交问题,如何避免重复提交同一条消息。
1、PIID:每个Producer在初始化时,都会分配一个唯一的PID,这个PID对用户来说,是透明的。
2、Sequence Number:针对每个生产者(对应PID)发送到指定主题分区的消息都对应一个从0开始递增的Sequence Number。
事务
事务这一章节没懂讲的什么?跟数据库事务一样吗?
Kafka事务是2017年Kafka 0.11.0.0引入的新特性。类似于数据库的事务。Kafka事务指的是生产者生产消息以及消费者提交offset的操作可以在一个原子操作中,要么都成功,要么都失败。尤其是在生产者、消费者并存时,事务的保障尤其重要。(consumer-transform-producer模式)
除了 生产者生产消息以及消费者提交offset的操作 还有那些场景会用到事务呢?