kafka0.11.0.0版本正式支持精确一次处理语义(exactly onece semantic–EOS)。
EOS主要体现在3个方面:
1、幂等producer: 保证单个分区的只会发送一次,不会出现重复消息;
2、事务(transation):保证原子性的写入多个分区,即写入到多个分区的消息要么全部成功,要么全部回滚;
3、流式EOS: 可看成是“ 读取-处理-写入的管道 ”。此EOS保证整个过程的操作是原子性。
配置:
配置项 | 配置 |
---|---|
幂等producer | enabled.idempotence=true |
事务 | a、transcational.id=‘字符串(事务名);b、enable.idempotence=true |
流处理EOS | processing.guarantee=exactly_once |