是时候用 ES 拯救发际线啦

数据库实现类似kafka的消息服务,offset的实现方式有什么问题?

默认分类 | 作者 jieWang0 | 发布于2018年04月03日 | 阅读数:2241

本人在自己使用数据库实现消息服务时所遇到的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 又需要注意哪些问题呢?谢谢各位解答了,谢谢谢谢
已邀请:

要回复问题请先登录注册