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
- 日誌傳送事務日誌備份設定
- 服務冪等以及常用實現方式
- 【工作篇】介面冪等問題探究
- 傳送郵件那些事
- kafka-穩定性-事務Kafka
- Kafka事務實現原理Kafka
- 大廠面試Kafka,一定會問到的冪等性面試Kafka
- 傳送kafka訊息的shell指令碼Kafka指令碼
- 聊聊開發中冪等性問題
- gRPC重試與介面冪等性RPC
- 聊聊如何實現一個帶冪等模板的Kafka消費者Kafka
- Spring事務專題(三)事務的基本概念,Mysql事務處理原理SpringMySql
- SpringBoot系列——防重放與操作冪等Spring Boot
- [登入那些事] 郵件傳送,限流,漏桶與令牌桶
- 冪等最佳實踐
- 什麼是冪等性?四種介面冪等性方案詳解!
- springboot+kafka+郵件傳送(最佳實踐)Spring BootKafka
- kafka 傳送確認引數acks的幾種模式Kafka模式
- 系統冪等設計
- 冪等設計詳解
- 再談冪等機制
- mongoDB中的冪等性MongoDB
- 冪等方法的應用
- Elasticjob執行job冪等AST
- Kafka設計解析(八)- Exactly Once語義與事務機制原理Kafka
- Kafka科普系列 | Kafka中的事務是什麼樣子的?Kafka
- 用Java輕鬆完成一個分散式事務TCC,自動處理空補償、懸掛、冪等Java分散式
- 什麼是事務、事務特性、事務隔離級別、spring事務傳播特性?Spring
- 介面服務中的冪等性設計和防重保證,詳細分析冪等性的幾種實現方法
- 利用藍芽來傳送圖片等檔案藍芽
- 事務日誌傳送使用者許可權設定及配置(2篇)
- 基金委通告2019專案申請與結題等有關事項