在2019年01月23日,雲訊息佇列 RocketMQ 版最佳化了資源隔離、資源申請、協議支援以及許可權管理。本文提供相關更新說明,協助您更順暢地使用雲訊息佇列 RocketMQ 版。
說明 為相容新老資源配置,建議您將ons-client用戶端升級到最新版本。
資源隔離最佳化(執行個體化支援)
雲訊息佇列 RocketMQ 版開放執行個體化功能,解決多租戶之間的隔離問題,您可以在同一個地區(Region)內購買多個執行個體,每個執行個體之間邏輯隔離或者物理隔離。
雲訊息佇列 RocketMQ 版執行個體分為以下兩種類型:
- 標準版:不同執行個體之間邏輯隔離,每個地區最多建立8個執行個體。
- 鉑金版:不同執行個體之間物理隔離,每個地區鉑金版執行個體個數不限。更多資訊,請參見雲訊息佇列 RocketMQ 版鉑金版。
為相容老使用者的既有資源,雲訊息佇列 RocketMQ 版執行個體可分為以下兩種:
- 預設執行個體(相容老使用者的既有資源):
- 無獨立命名空間,執行個體內或者跨執行個體之間,資源命名必須全域唯一。
- 對雲訊息佇列 RocketMQ 版老使用者來說,既有資源所在地區將自動產生一個預設的無獨立命名空間執行個體。
- 存取點配置(可在控制台執行個體詳情頁面中擷取):
// 推薦配置。 properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxxx"); // 相容配置(不推薦繼續使用,建議逐漸升級為推薦配置)。 properties.put(PropertyKeyConst.ONSAddr, "xxxx");
- 建立執行個體:
資源申請流程最佳化
原雲訊息佇列 RocketMQ 版的資源套件括以下三個部分:
- 訊息主題(Topic)
- 生產者(Producer ID)
- 消費者(Consumer ID)
三者之間都是多對多的對應關係,三者之間的關係複雜而難以理解;對於中、大型企業客戶來說,每建立一個Topic,都要關聯或者更新Producer ID和Consumer ID,流程過於複雜。
因此,為進一步最佳化新使用者的體驗,降低新使用者的接入門檻,對資源申請的接入流程進行簡化。
- 資源申請方面,主要包括以下兩個部分:
- Topic管理(保持不變):
Topic資源申請,一級訊息類型,通過Topic對訊息進行分類。
- Group管理:
- 取消原Producer ID的申請,與原Consumer ID統一為Group ID,即對應控制台上,取消原生產者管理,與原消費者管理統一為Group管理。
- 取消原申請Producer ID或Consumer ID時需要指定Topic的關聯約束,只需申請Group ID即可在代碼中直接配置與Topic的關聯使用。
- 相容性相關問題:
- 原申請的Producer ID列表將不再顯示,不影響當前業務的正常使用。
- 原申請的以“CID-”或者“CID_”開頭的Consumer ID仍可以正常使用,代碼中既可在
PropertyKeyConst.ConsumerId
中設定,亦可在PropertyKeyConst.GROUP_ID
中設定。
- Topic管理(保持不變):
- 針對範例程式碼,原來已經在使用的Producer ID或者Consumer ID保持相容,不影響當前線上業務的正常使用,但建議逐步替換為新的推薦配置方式:
- 推薦方式:將Producer ID、Consumer ID的概念融合成Group ID
// 設定PropertyKeyConst.GROUP_ID,原PropertyKeyConst.ProducerId和PropertyKeyConst.ConsumerId會被@Deprecated properties.put(PropertyKeyConst.GROUP_ID,"原CID-XXX或GID-XXX")。
- 相容方式:Producer ID用來標識生產者,Consumer ID用來標識消費者
// 建立Producer時需要配置PropertyKeyConst.ProducerId。 properties.put(PropertyKeyConst.ProducerId,"原PID-XXX或GID-XXX")。 // 建立Consumer時需要配置PropertyKeyConst.ConsumerId。 properties.put(PropertyKeyConst.ConsumerId,"原CID-XXX或GID-XXX")。
- 推薦方式:將Producer ID、Consumer ID的概念融合成Group ID
雲訊息佇列 RocketMQ 版的標準版執行個體支援HTTP協議,採用RESTful標準,方便易用,快速接入,跨網路能力強,並隨之開放7種多語言用戶端。更多資訊,請參見HTTP協議。
RAM授權策略遷移
基於阿里雲存取控制的統一管理要求,雲訊息佇列 RocketMQ 版的主子帳號授權功能於2019年04月02日停止維護,請完成授權配置的遷移。
- 建議您儘快開始RAM相關的策略配置,更多資訊,請參見RAM主子帳號授權。
- 原來已經授權過的資源不會有任何影響,業務仍可正常使用,但是建議統一到RAM上進行配置與管理。