Kafka專題:5.kafka冪等傳送與事務
kafka在0.11之後,開始支援冪等傳送和事務,那麼分別是如何實現的呢?
冪等傳送
引入producerid +seqnum的設計
對於每一個生產者,初始化是分配一個producerid,傳送訊息的時候會有一個單調遞增的seqnum,訊息包含producerid+ seqnum
對於broker,會快取一個最大的producerid+ seqnum,如果接收到訊息的seq小於之前快取的seq,直接返回冪等結果,不要寫入日誌檔案。 這個冪等只能在相同生產者session和相同partition級別保證,不同的生產者或者不同的partition保證不了。
事務
引入事務協調者,事務日誌,transactionid的設定
對於消費,轉換,寫入這樣的場景,將消費的offset 更新,和寫入的commit放在一個事務中,只有全部成功,消費的offset才會進行更新。否則,重新消費。
事務隔離級別,有read commited和read uncommited兩種。
對於read commited級別,consumer會過濾掉那些終止事務的訊息(比如寫入場景,有些寫入成功,有些寫入失敗)。
相關文章
- 以事務方式傳送 Kafka 訊息Kafka
- 冪等性問題
- 分散式事務:訊息可靠傳送分散式
- RabbitMQ,RocketMQ,Kafka 事務性,訊息丟失和訊息重複傳送的處理策略MQKafka
- 【Java面試】什麼是冪等?如何解決冪等性問題?Java面試
- Kafka -- 訊息傳送儲存流程Kafka
- Kafka事務原理剖析Kafka
- 【工作篇】介面冪等問題探究
- gRPC重試與介面冪等性RPC
- SpringBoot系列——防重放與操作冪等Spring Boot
- 劉氏數列與等冪和
- 服務冪等以及常用實現方式
- 傳送kafka訊息的shell指令碼Kafka指令碼
- Kafka事務實現原理Kafka
- kafka-穩定性-事務Kafka
- 聊聊開發中冪等性問題
- 等冪和:常規與不常規(3)
- 等冪和:常規與不常規(2)
- 等冪和:常規與不常規(1)
- springboot+kafka+郵件傳送(最佳實踐)Spring BootKafka
- 聊聊如何實現一個帶冪等模板的Kafka消費者Kafka
- 大廠面試Kafka,一定會問到的冪等性面試Kafka
- Spring事務專題(三)事務的基本概念,Mysql事務處理原理SpringMySql
- №20190116部落格賽事:「因子加值數」等冪和
- 基金委通告2019專案申請與結題等有關事項
- [登入那些事] 郵件傳送,限流,漏桶與令牌桶
- 冪等最佳實踐
- 什麼是冪等
- 冪等設計:確保操作的安全與可靠
- 斐波那契數列數與等冪和
- 什麼是冪等性?四種介面冪等性方案詳解!
- kafka 傳送確認引數acks的幾種模式Kafka模式
- Spring事務專題(五)聊聊Spring事務到底是如何實現的Spring
- Elasticjob執行job冪等AST
- 冪等設計詳解
- 系統冪等設計
- 冪等方法的應用
- 再談冪等機制