Kafka幂等性与事务
kafka冪等性 博客https://www.cnblogs.com/smartloli/p/11922639.html
冪等性: 主要解決單會話(producer宕機重啟冪等性失效)
主要是引入了ProducerID和SequenceNumber來實現冪等性
,當producer發送消息給broker后等待返回ack,broker持久化數據后并返回ack,
ack返回途中假如遇到了網絡IO、FullGC、OOm等異常時,ack返回失敗,
producer會繼續發送數據,如果沒有冪等性,那么數據會被再次持久化,
所以在發送消息的時候會同步一個PID和SequenceNumber,
PID是生產者初始化的時候生成的,SequenceNumber是累加的變量,
第一次發送數據和PID、SequenceNumber=1,
producer等待一段時間沒收到ack繼續發送數據和PID、SequenceNmber=1,
borker接收到相同的SequenceNumber會直接返回ack。
事務: 主要解決多回話
Kafka中的事務與數據庫的事務類似,Kafka中的事務屬性是指一系列的Producer生產消息和消費消息提交Offsets的操作在一個事務中,即原子性操作。對應的結果是同時成功或者同時失敗。
這里需要與數據庫中事務進行區別,操作數據庫中的事務指一系列的增刪查改,對Kafka來說,操作事務是指一系列的生產和消費等原子性操作。
總結
以上是生活随笔為你收集整理的Kafka幂等性与事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1990元!索尼发布HT-S400回音壁
- 下一篇: easyexcel将对象处理为多列,自增