全部產品
Search
文件中心

ApsaraMQ for RocketMQ:執行個體化支援

更新時間:Jul 01, 2024

在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");                  
  • 建立執行個體:
    • 有獨立命名空間,資源命名確保執行個體內唯一,跨執行個體之間可重名。
    • 存取點配置(可在控制台執行個體詳情頁面中擷取)。
      // 推薦配置。
      properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxx");                            
    • ons-client用戶端必須升級到最新版本:

資源申請流程最佳化

雲訊息佇列 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中設定。
  • 針對範例程式碼,原來已經在使用的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")。          

雲訊息佇列 RocketMQ 版的標準版執行個體支援HTTP協議,採用RESTful標準,方便易用,快速接入,跨網路能力強,並隨之開放7種多語言用戶端。更多資訊,請參見HTTP協議

RAM授權策略遷移

基於阿里雲存取控制的統一管理要求,雲訊息佇列 RocketMQ 版的主子帳號授權功能於2019年04月02日停止維護,請完成授權配置的遷移。

  • 建議您儘快開始RAM相關的策略配置,更多資訊,請參見RAM主子帳號授權
  • 原來已經授權過的資源不會有任何影響,業務仍可正常使用,但是建議統一到RAM上進行配置與管理。