Kafka Consumer提供了异步api提交offset(即commitAsync()方法), 1 commitAsync(offset = 00001)2 commitAsync(offset = 00002)3 commitAsync(offset = 00003) 按照上面顺序执行,kafka broker能否保证最终存储的offset=00003?如果请求3先到达broker,那么请求3提交的offset是否会被最终覆盖?或是不被覆盖,但请1、2被拒绝?
博主这个问题最后解决了吗
如果3先到,则3会被覆盖的。
弄个一个AtomicLong atoOffset,用来存储已提交的offset,如果当前要提交的offset<atoOffset,则不提交
弄个一个AtomicLong atoOffset,用来存储已提交的offset,如果当前要提交的offset<atoOffset,则不提交
那你应用突然重启呢?考虑过这种场景吗
你的答案