全部產品
Search
文件中心

ApsaraMQ for RocketMQ:SDK參考概述

更新時間:Jul 01, 2024

雲訊息佇列 RocketMQ 版支援TCP協議和HTTP協議的多語言SDK,本文為您介紹這兩種協議SDK的差異和使用說明。

SDK相容性說明

雲訊息佇列 RocketMQ 版服務端版本和用戶端SDK版本的相容情況如下:

服務端版本

用戶端版本

相容性

約束限制

5.x版本執行個體

RocketMQ 5.x SDK

相容

雲訊息佇列 RocketMQ 版5.x版本執行個體的所有功能完全支援。

RocketMQ 4.x/3.x SDK

相容

訊息收發功能支援,但Trace、Metrics部分指標不支援展示。

RocketMQ ONS TCP 1.x SDK

重要

5.x版本執行個體暫不支援使用ONS TCP 2.x版本的SDK接入。

相容

訊息收發功能支援,但Trace、Metrics部分指標不支援展示。

雲訊息佇列 RocketMQ 版ONS HTTP SDK

不相容

雲訊息佇列 RocketMQ 版5.x SDK不支援HTTP協議。

4.x版本執行個體

雲訊息佇列 RocketMQ 版5.x SDK

不相容

4.x版本執行個體不支援使用5.x版本對應的SDK串連訪問。

RocketMQ 4.x/3.x SDK

相容

雲訊息佇列 RocketMQ 版4.x版本執行個體的功能完整支援。

RocketMQ ONS TCP 1.x/2.x SDK

相容

RocketMQ ONS HTTP SDK

相容

TCP協議

重要

社區版SDK僅在遷移開源RocketMQ上雲且不希望修改代碼時使用,其他情境推薦您使用阿里雲雲訊息佇列 RocketMQ 版提供的商業版SDK進行接入。和社區版SDK相比,商業版SDK提供了更加豐富的功能特性並具有更高的穩定性保障。

商業版TCP協議SDK(ONS 1.x/2.x SDK)

HTTP協議

商業版HTTP協議SDK(多語言推薦)

TCP和HTTP協議SDK差異對比

TCP協議SDK和HTTP協議SDK支援的功能有所差異,請您根據業務需求提前評估需要使用的協議類型。

SDK協議類型

TCP協議SDK

HTTP協議SDK

選擇建議

建議優先選擇

  • 傳輸效能好,適用於高並發情境。

  • 訊息功能更完整,迭代速度快。

  • 可觀測性指標更豐富,訊息堆積、訊息重設等功能更完善。

備用方案選擇

  • 多語言接入的補充方案,TCP協議暫不支援某些語言時可以選擇HTTP協議。

  • 輕量接入、功能概念少、適用於簡單情境。

普通訊息

支援

支援

順序訊息

支援

支援

定時和延時訊息

支援

支援

事務訊息

支援

支援

PushConsumer

支援

不支援

PullConsumer

支援

不支援

批量消費

支援

不支援

廣播消費

支援

不支援

叢集消費

支援

支援

訊息重試

支援

支援

查詢訊息軌跡

支援

支援

無效信件佇列

支援

支援

重設消費位點

支援

不支援

SDK使用說明

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

  • 雲訊息佇列 RocketMQ 版支援HTTP協議和TCP協議的Group ID,不同類型的Group ID不能混用。例如,你使用TCP協議的SDK收發訊息,則您需要建立TCP協議Group ID。

  • TCP協議的用戶端和HTTP協議的用戶端之間可以實現訊息收發。但由於HTTP協議採用XML序列化,因此訊息的屬性、內容、Tag、Key等必須符合XML規範。否則可能造成訊息發送或消費失敗。

    您可以自行採用Base64編碼對發送的訊息進行編(解)碼,以適用於此類不符合XML規範的訊息收發情境。

    說明

    XML的規範詳情,請參見XML文法。您也可按需使用第三方工具xml_validator校正XML文法的規範性。

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