為了進一步提升云消息隊列 RocketMQ 版服務的穩(wěn)定性,并以此保障您應用的穩(wěn)定性,針對部署在某地域(Region)的應用,如果您使用的是TCP協(xié)議下的SDK,則需使用該地域的云消息隊列 RocketMQ 版服務的TCP內(nèi)網(wǎng)接入點。本文提供對應地域的TCP內(nèi)網(wǎng)接入點的詳細說明和配置步驟。
公告首次發(fā)布時間
2019年12月16日
公告說明
地域化的TCP內(nèi)網(wǎng)接入點比原接入模式的穩(wěn)定性更高,您需在2023年06月30日前完成切換。超過期限后,原接入點將無法提供消息收發(fā)服務。
切換TCP內(nèi)網(wǎng)接入點的影響如下:
- 如果應用本身沒有跨地域使用云消息隊列 RocketMQ 版,發(fā)送方和訂閱方變更可以不同步。
- 如果應用有跨地域使用云消息隊列 RocketMQ 版,則需要根據(jù)業(yè)務評估切換的時機。您可使用HTTP協(xié)議客戶端的接入點滿足您跨地域使用云消息隊列 RocketMQ 版的需求。HTTP SDK的詳細信息,請參見HTTP協(xié)議客戶端接入說明。
公告的更多信息,請參見接入點地域化通知。
說明 TCP內(nèi)網(wǎng)接入點切換適用于開源社區(qū)提供的SDK以及阿里云推出的SDK。開源TCP SDK接入指南,請參見TCP協(xié)議SDK(社區(qū)版)。
判斷是否需要切換
請判斷您目前使用的云消息隊列 RocketMQ 版實例的TCP內(nèi)網(wǎng)接入點是否包含地域ID,格式為
http://xxxx.<region_id>.mq-internal.aliyuncs.com:<port>
:- 如果您使用的接入點包含地域ID,例如http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080,那么您無需做任何接入點配置修改。
- 如果您所使用的接入點沒有包含地域ID,例如http://xxxx.mq-internal.aliyuncs.com:8080,請按本文提供的操作步驟,重新配置您的SDK中使用的接入點信息。
背景信息
如需使用云消息隊列 RocketMQ 版來收發(fā)消息,則需在使用TCP協(xié)議下的SDK時,將相應參數(shù)配置為您實際使用的資源信息。需特別注意的是,以下參數(shù)所對應的資源應處于同一地域:
- GROUP_ID:您在云消息隊列 RocketMQ 版控制臺上創(chuàng)建的Group ID。
- Topic:您在云消息隊列 RocketMQ 版控制臺上創(chuàng)建的Topic。
- NAMESRV_ADDR:您從云消息隊列 RocketMQ 版控制臺的實例詳情頁面獲取的接入點。
例如您在華東1(杭州)地域購買了一個云消息隊列 RocketMQ 版實例A,并在此地域下創(chuàng)建了Topic A和Group ID A,供部署在該地域的應用客戶端A使用;同時,您也在另一個地域,如華南1(深圳)購買了另一個云消息隊列 RocketMQ 版實例B,并在此地域下創(chuàng)建了Topic B和Group ID B,供部署在該地域的應用客戶端B使用。需特別注意的信息如下:
- 針對Topic A,您只能通過在華東1(杭州)地域的、歸屬于Group ID A的客戶端A向Topic A發(fā)送或接收消息。
- 針對Topic B,您只能通過在華南1(深圳)地域的、歸屬于Group ID B的客戶端B向Topic B發(fā)送或接收消息。
具體對應關系如下圖所示。
操作步驟
- 登錄云消息隊列 RocketMQ 版控制臺。
- 在左側導航欄,單擊實例列表。
- 在頂部菜單欄,選擇地域,如華東1(杭州),然后單擊目標實例。
- 在實例詳情頁面,單擊接入點頁簽。
- 在接入點頁簽,找到TCP 協(xié)議客戶端接入點,即可查看網(wǎng)絡為內(nèi)網(wǎng)訪問的接入點。
- 將該接入點配置到您發(fā)送端和訂閱端代碼的相應參數(shù)。
- 阿里云提供的ons-sdk需滿足以下條件:
對應的參數(shù),以Java SDK為例:
// 請確保您的客戶端版本滿足替換接入點的要求,并將以下配置 properties.put(PropertyKeyConst.ONSAddr, "http://xxxx.mq-internal.aliyuncs.com:8080"); // 替換為 properties.put(PropertyKeyConst.NAMESRV_ADDR, "http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");
- 開源社區(qū)提供的rocketmq-sdk對應的參數(shù),以Java SDK為例:
// 請將setNamesrvAddr設置為您從阿里云控制臺獲取的接入點信息。 producer.setNamesrvAddr("http://xxxx.cn-hangzhou.mq-internal.aliyuncs.com:8080");
- 阿里云提供的ons-sdk需滿足以下條件: