大数据技术之kafka (第 3 章 Kafka 架构深入) Kafka 事务
Kafka 從 0.11 版本開始引入了事務支持。事務可以保證 Kafka 在 Exactly Once 語義的基礎上,生產和消費可以跨分區和會話,要么全部成功,要么全部失敗
3.6.1 Producer 事務
為了實現跨分區跨會話的事務,需要引入一個全局唯一的 Transaction ID,并將 Producer獲得的PID和Transaction ID綁定。這樣當Producer重啟后就可以通過正在進行的Transaction?ID 獲得原來的 PID。?為了管理 Transaction,Kafka 引入了一個新的組件 Transaction Coordinator。Producer 就是通過和 Transaction Coordinator 交互獲得 Transaction ID 對應的任務狀態。Transaction?
Coordinator 還負責將事務所有寫入 Kafka 的一個內部 Topic,這樣即使整個服務重啟,由于事務狀態得到保存,進行中的事務狀態可以得到恢復,從而繼續進行。?
3.6.2 Consumer 事務
上述事務機制主要是從 Producer 方面考慮,對于 Consumer 而言,事務的保證就會相對較弱,尤其時無法保證 Commit 的信息被精確消費。這是由于 Consumer 可以通過 offset 訪問任意信息,而且不同的 Segment File 生命周期不同,同一事務的消息可能會出現重啟后被刪除的情況。
總結
以上是生活随笔為你收集整理的大数据技术之kafka (第 3 章 Kafka 架构深入) Kafka 事务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++/java/python 创建二维
- 下一篇: sudo apt-get update