消息队列本身很难保证消息不重复
exactly once 可以用  消息队列的 at least once + 后端幂等消费来实现
另外不建议使用 kafka 事务, 会拉低消息消费的速度

Jimmy Wong <wangzmk...@163.com> 于2019年9月9日周一 上午11:50写道:

> Hi,all:
> 请教一下,我设置 checkpoint 的时间是 5 分钟,如果在这 5 分钟之内,某个 task 挂了,然后又重新拉起。我是不是可以理解为这时候从
> checkpoint 的数据获得的是这 5 分钟之前的 Kafka offset,但是这 5
> 分钟之内的消息已经消费,流向下游。重新拉起之后,source 重放,那么这时候这 5 分钟的数据会再次被消费麽?如果再次消费,那么怎么保证
> Extractly-Once 呢?
> | |
> Jimmy
> |
> |
> wangzmk...@163.com
> |
> 签名由网易邮箱大师定制
>
>

回复