全部產品
Search
文件中心

ApsaraMQ for RocketMQ:建立資源

更新時間:Dec 27, 2024

在調用TCP協議的SDK收發訊息前,您需在雲訊息佇列 RocketMQ 版控制台建立相關資源。您在調用SDK時需填寫這些資源資訊。

前提條件

開通訊息佇列服務並授權

背景資訊

針對TCP和HTTP兩種通訊協定,雲訊息佇列 RocketMQ 版分別提供了多語言用戶端SDK來收發訊息。建議您分別為兩種協議建立不同類型的Group ID,TCP協議和HTTP協議Group的使用限制說明,請參見Group管理

網路訪問限制

在使用雲訊息佇列 RocketMQ 版時,請注意以下網路訪問限制:

  • 只有在同一個地區下的同一個執行個體中的Topic和Group ID才能互連,例如,某Topic建立在華東1(杭州)地區的執行個體A中,那麼該Topic只能被在華東1(杭州)地區的執行個體A中建立的Group ID對應的生產端和消費端訪問。

  • TCP協議和HTTP協議在各地區均提供公網和內網存取點。生產環境預設推薦使用VPC專用網路走內網訪問服務;如果需要跨地區、線下IDC、公網網路訪問,且當前無法使用CEN組網,可以使用公網存取點訪問服務。公網存取點需要支付額外的公網下行流量費用,具體資訊,請參見公網流量定價詳情

  • 雲訊息佇列 RocketMQ 版提供HTTP協議存取點和TCP協議存取點,存取點不能混用。例如,您使用的TCP協議SDK,則代碼中必須填寫TCP協議存取點,不能使用HTTP協議存取點。

建立執行個體

執行個體是用於雲訊息佇列 RocketMQ 版服務的虛擬機器資源,會儲存訊息主題(Topic)和用戶端ID(Group ID)資訊。

  1. 登入雲訊息佇列 RocketMQ 版控制台

  2. 在左側導覽列,單擊实例列表

  3. 在頂部功能表列,選擇地區,如華東1(杭州)

  4. 实例列表頁面,單擊创建实例

  5. 创建 RocketMQ 实例面板,選擇執行個體類型,並輸入名稱描述,然後單擊確定

建立Topic

Topic是雲訊息佇列 RocketMQ 版裡對訊息的一級歸類,例如建立名稱為Topic_Trade的Topic來識別交易類訊息,訊息生產者將訊息發送到Topic_Trade,而訊息消費者則通過訂閱該Topic來擷取和消費訊息。Topic的使用說明如下:

  • Topic不能跨執行個體使用,例如在執行個體A中建立的Topic A不能在執行個體B中使用。

  • 在同一執行個體中Topic名稱必須唯一。

  • 您可建立不同的Topic來發送不同類型的訊息,例如用Topic A發送普通訊息,Topic B發送事務訊息,Topic C發送定時和延時訊息。

  1. 在執行個體所在頁面的左側導覽列,單擊Topic 管理

  2. Topic 管理頁面,單擊创建 Topic

  3. 创建 Topic面板,輸入名稱描述,選擇該Topic的訊息類型普通訊息,然後單擊確定

    說明

    本文以收發普通訊息為例進行說明,因此,您按照本文提供的步驟建立的普通訊息的Topic,不能用於收發其他類型的訊息。換言之,不同訊息類型的Topic不能混用。訊息類型的更多資訊,請參見訊息類型列表

建立Group ID

用於標識同一類生產者執行個體或者同一類消費者執行個體。Group ID的使用說明如下:

  • 單一實例下最多建立1000個Group,建議您盡量複用或及時刪除不需要的Group。若您對Group數量有特殊需求,請聯絡雲訊息佇列 RocketMQ 版支援人員申請。

  • Group ID不能跨執行個體使用,例如執行個體A中建立的Group ID不能在執行個體B中使用。

  • 雲訊息佇列 RocketMQ 版支援HTTP協議和TCP協議的Group,不同的消費Group ID可以使用不同類型的協議消費訊息,建議您分別為兩種協議建立對應類型的Group ID。

    • 若多個消費者使用同一個Group ID消費訊息,其中部分消費者使用TCP協議,部分消費者使用HTTP協議,可能會導致消費失敗、部分訊息重複或丟失。

    • 同一Group ID不能平滑地從一個消費協議切換到另一個協議,切換過渡時間大概需要1~2小時。

    • 如果Group ID實際消費使用的協議和控制台上展示的協議不一致,會導致控制台上展示的相關資料不準確,但不會影響實際的訊息收發。您可以聯絡雲訊息佇列 RocketMQ 版支援人員申請將控制台上Group ID的協議類型訂正為您實際使用的協議類型。

  • 消費者必須有對應的Group ID,生產者不作強制要求。

  1. 在執行個體所在頁面的左側導覽列,單擊Group 管理

  2. Group 管理頁面,選擇TCP 协议 > 创建 Group

  3. 建立可用於 TCP 協議的 Group面板,輸入Group ID描述,然後單擊確定

擷取存取點

在控制台建立好資源後,您需通過控制台擷取執行個體的存取點。在收發訊息時,您需要為生產端和消費端配置該存取點,以接入某個具體執行個體或地區的服務。

  1. 在執行個體所在頁面的左側導覽列,單擊实例详情

  2. 实例详情頁面的TCP 協議存取點地區可擷取執行個體的TCP協議存取點。

存取點說明如下:

  • HTTP協議和TCP協議的存取點不可混用。例如,您使用TCP協議的SDK收發訊息,您需要擷取TCP協議的存取點接入雲訊息佇列 RocketMQ 版服務端。

  • TCP協議和HTTP協議在各地區均提供公網和內網存取點。生產環境預設推薦使用VPC專用網路走內網訪問服務;如果需要跨地區、線下IDC、公網網路訪問,且當前無法使用CEN組網,可以使用公網存取點訪問服務。公網存取點需要支付額外的公網下行流量費用,具體資訊,請參見公網流量定價詳情

完成以上準備工作後,您就可以運行範例程式碼,用雲訊息佇列 RocketMQ 版進行訊息發送和訂閱了。

後續步驟

調用TCP協議的SDK收發普通訊息