雲訊息佇列 RocketMQ 版支援優雅下線的能力,能夠有效避免因用戶端串連突發中斷引發的訊息丟失等問題,從而確保業務的持續可用性。
能力概述
優雅下線是雲訊息佇列 RocketMQ 版為提升服務端營運情境下的可靠性而推出的核心特性。該能力通過多種保障機制,在伺服器版本發布、重啟或維護期間,避免因用戶端串連突然中斷導致的生產或消費端報錯、訊息丟失等問題,確保商務持續性。
保障機制
服務端節點禁寫機制
在儲存節點重啟前,服務端會臨時禁止該節點寫入操作,等節點無新訊息寫入時再進行重啟,保障用戶端已發出的訊息不會儲存失敗。
串連關閉機制
雲訊息佇列 RocketMQ 版服務端基於HTTP/2協議中定義的GOAWAY幀,實現優雅地關閉串連或通知用戶端即將關閉串連。該機制協助服務端和用戶端協調串連的終止過程,避免未完成的請求被突然中斷,確保系統穩定性。
能力效果
生產者:生產者提交的發送訊息請求均能成功處理,不會出現發送失敗的情況。
消費者:
大部分訊息都會消費成功。
只有極少數情況下的訊息(正在重啟的儲存節點上堆積的訊息)會因消費時提交位點失敗而進行重投。
用戶端版本要求
為保障優雅下線的正常使用,用戶端SDK需滿足以下版本要求:
語言類型 | 最低支援版本 | 詳細說明 |
Java gRPC協議 | 5.0.7 | |
Java Remoting協議 | 5.3.1 | |
Go | 5.1.0-rc.1 | |
Python | 5.0.4 | |
C++ | 5.0.2 | |
C# | 5.1.0 |