Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:SDK reference overview

Dernière mise à jour :Aug 09, 2026

ApsaraMQ for RocketMQ propose des SDK pour les protocoles TCP et HTTP dans plusieurs langages de programmation. Choisissez un SDK en fonction de la version de votre instance, des fonctionnalités requises et du protocole souhaité.

Choisir une version de SDK

Le SDK gRPC 5.x est le point de départ recommandé. Il prend en charge toutes les nouvelles fonctionnalités et bénéficie d'optimisations continues. Si le SDK gRPC ne couvre pas une fonctionnalité spécifique, utilisez le SDK Remoting 5.x en alternative.

Le tableau suivant compare toutes les versions de SDK disponibles. ✅ = pris en charge, ❌ = non pris en charge.

**Fonctionnalité** **RocketMQ 5.x gRPC SDK** **RocketMQ 5.x Remoting SDK** **RocketMQ 4.x/3.x SDK** **RocketMQ ONS TCP 1.x SDK** **RocketMQ ONS TCP 2.x SDK** **RocketMQ ONS HTTP SDK**
Protocole Protocole gRPC v2 Protocole Remoting Protocole Remoting Protocole Remoting Protocole gRPC v1 Protocole HTTP
Instances compatibles Instances de série 5.x Instances de séries 5.x et 4.x Instances de séries 5.x et 4.x Instances de séries 5.x et 4.x Instances de série 4.x Instances de série 4.x
Cas d'utilisation Recommandé. Prend en charge plusieurs langages. Toutes les nouvelles fonctionnalités et optimisations ciblent ce SDK. Utilisez le SDK Remoting si le SDK gRPC 5.x ne répond pas à des exigences spécifiques. À utiliser uniquement si vos services s'exécutent déjà sur ces clients. Les instances 5.x assurent la rétrocompatibilité. À utiliser uniquement si vos services s'exécutent déjà sur ces clients. Les instances 5.x assurent la rétrocompatibilité. SDK hérité. Aucune nouvelle fonctionnalité. Accès uniquement aux instances 4.x. SDK hérité. Aucune nouvelle fonctionnalité. Accès uniquement aux instances 4.x.
Messages normaux, ordonnés, transactionnels et planifiés
Consommation concurrente
Consommation ordonnée
Optimisation de la concurrence de consommation pour la consommation ordonnée
Consommation en mode diffusion (broadcasting)
Consommation en flux (connexion à des services tels que Flink)
Traçabilité des messages Pris en charge dans les versions 4.5.2 et ultérieures
Métriques client Producteur et consommateur
Arrêt gracieux Pris en charge uniquement pour les instances de série 5.x

Limitations

  • Tous les consommateurs d'un même groupe de consommateurs doivent utiliser des clients prenant en charge le même protocole.

  • Lors d'une mise à niveau progressive d'un SDK utilisant le protocole Remoting vers un SDK utilisant le protocole gRPC au sein du même groupe de consommateurs :

    • Les groupes de consommateurs délivrant des messages ordonnés ne prennent pas en charge cette mise à niveau.

    • Les groupes de consommateurs délivrant des messages de manière concurrente permettent une mise à niveau fluide. Un petit nombre de messages peut être dupliqué pendant l'opération.

  • Le décalage du consommateur (consumer offset) pour les messages ordonnés peut faire l'objet d'un retour arrière si un groupe de consommateurs suit cette séquence : démarrage avec un SDK utilisant le protocole Remoting, mise à niveau vers un SDK utilisant le protocole gRPC, puis retour au SDK utilisant le protocole Remoting.

  • Le SDK RocketMQ ONS TCP 2.x est disponible uniquement dans certaines régions. Pour plus d'informations, consultez les Limites.

SDK pour le protocole TCP

Important

Utilisez le SDK Community Edition uniquement lors de la migration de RocketMQ open source vers le cloud sans modification du code. Dans tous les autres cas, utilisez le SDK Enterprise Edition fourni par ApsaraMQ for RocketMQ. Le SDK Enterprise Edition offre davantage de fonctionnalités et une stabilité supérieure.

SDK Enterprise Edition pour le protocole TCP (ONS 1.x/2.x)

Java

C/C++

.NET

SDK pour le protocole HTTP

Les SDK pour le protocole HTTP (Enterprise Edition) sont recommandés pour la prise en charge multilingue, couvrant des langages de programmation supplémentaires non disponibles via le protocole TCP.

SDK Enterprise Edition pour le protocole HTTP

Java

PHP

Go

Python

Node.js

C#

C++

Comparaison des fonctionnalités : TCP vs HTTP

Le protocole TCP est recommandé. Il offre des performances de transport élevées, prend en charge davantage de fonctionnalités de messagerie et fournit une observabilité enrichie, notamment la gestion de l'accumulation des messages et la réinitialisation des décalages des consommateurs. Utilisez le protocole HTTP lorsque le protocole TCP ne prend pas en charge votre langage de programmation ou lorsqu'un accès léger suffit.

**Fonctionnalité** **TCP** **HTTP**
Messages normaux
Messages ordonnés
Messages planifiés et différés
Messages transactionnels
PushConsumer
PullConsumer
Consommation par lots
Consommation en mode diffusion (broadcasting)
Consommation en cluster
Nouvelle tentative de message
Interroger les traces de messages
Files d'attente de messages morts
Réinitialiser les décalages des consommateurs

Notes d'utilisation

  • Faites correspondre le type d'endpoint au protocole du SDK. Un SDK TCP nécessite l'endpoint TCP de l'instance ApsaraMQ for RocketMQ ; un SDK HTTP nécessite l'endpoint HTTP.

  • Les ID de groupe sont spécifiques au protocole et ne peuvent pas être partagés entre différents protocoles. Créez un ID de groupe TCP pour les SDK TCP et un ID de groupe HTTP pour les SDK HTTP.

  • Les clients TCP et HTTP peuvent échanger des messages entre eux. Toutefois, HTTP utilise la sérialisation XML ; les propriétés des messages, le contenu, les tags et les clés doivent donc être conformes aux spécifications XML. Encodez les messages non conformes en Base64.

    Remarque

    Pour les spécifications XML, consultez la syntaxe XML. Pour valider le XML, utilisez un outil tiers tel que xml_validator.

  • Des endpoints publics et privés sont disponibles dans toutes les régions pour les protocoles TCP et HTTP. Pour les charges de travail de production, accédez à ApsaraMQ for RocketMQ via un réseau privé virtuel (VPC). Pour l'accès interrégional, l'accès depuis les locaux ou l'accès Internet lorsque Cloud Enterprise Network (CEN) n'est pas disponible, utilisez un endpoint public. Le trafic via l'endpoint public entraîne des frais de trafic Internet sortant. Pour plus d'informations, consultez la Facturation du trafic Internet.