概述
为应对消费结果需要存储到关系数据库中,避免数据库down时consumer继续消费的场景
查了很多源码都记录下来,省的下次还要过滤源码。
If the results of the consumption are being stored in a relational database, storing the offset in the database as well can allow committing both the results and offset in a single transaction. Thus either the transaction will succeed and the offset will be updated based on what was consumed or the result will not be stored and the offset won‘t be updated.
每个记录都有自己的偏移量,所以要管理你自己的偏移,你只需要做以下:
Configure enable.auto.commit=false
Use the offset provided with each ConsumerRecord to save your position.
On restart restore the position of the consumer using seek(TopicPartition, long).
原子操作( Atomic operations): 不可中断的一个或一系列操作,就像原子一样,不能再被拆分了,已经是最小单位了,当然在这里没有单位只有操作。
最后
以上就是搞怪手链为你收集整理的kafka偏移量保存到mysql里_用java代码手动控制kafkaconsumer偏移量的全部内容,希望文章能够帮你解决kafka偏移量保存到mysql里_用java代码手动控制kafkaconsumer偏移量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复