本人在自己使用数据库实现消息服务时所遇到的offset存储有两种方式,一种是连续递增的如1,2,3,4...,一种是非连续递增如1,3,5,7....。如果是非连续的会有这样一个场景问题:一个producerA的数据对应的offset是5,producerB对应的数据offset是7,但是A有延迟,导致B先生产成功。这时候一个 consumer过来消费并commit 了7,然后A才produce成功,这时候A的数据就丢了。如果是连续递增的如使用自增id就不会有这个问题?,还有如果使用自增的id作为offset 又需要注意哪些问题呢?谢谢各位解答了,谢谢谢谢
0 个回复