在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上進行配置與管理。