Pour envoyer et recevoir des messages avec les SDK HTTP d'ApsaraMQ for RocketMQ, vous avez besoin de quatre ressources : une instance, un topic, un group ID et un endpoint HTTP. Ce guide vous accompagne dans la création de chaque ressource via la console ApsaraMQ for RocketMQ.
Prérequis
Avant de commencer, assurez-vous d'avoir :
Contraintes d'accès réseau
Vérifiez ces contraintes avant de créer vos ressources :
| Contrainte | Détails |
|---|---|
| Portée de la région et de l'instance | Un topic est accessible uniquement par les producteurs et les consommateurs dont le groupe est créé dans la même région et sur la même instance. Par exemple, un topic sur l'Instance A dans la région China (Hangzhou) est accessible uniquement aux groupes de l'Instance A dans China (Hangzhou). |
| Correspondance des protocoles | Les endpoints TCP fonctionnent uniquement avec les SDK client TCP. Les endpoints HTTP fonctionnent uniquement avec les SDK client HTTP. Ne mélangez pas les protocoles. |
| Types d'endpoint | Des endpoints publics et privés sont disponibles pour TCP et HTTP dans toutes les régions. |
Sélection de l'endpoint :
Environnements de production : Utilisez un endpoint privé basé sur un VPC.
Accès inter-régions, centres de données sur site ou accès Internet (lorsque CEN n'est pas disponible) : Utilisez un endpoint public. Des frais de trafic sortant s'appliquent. Pour plus de détails, consultez Internet traffic fee.
Étape 1 : Créer une instance
Une instance est une machine virtuelle qui héberge le service ApsaraMQ for RocketMQ. Elle stocke vos topics et vos group IDs.
Connectez-vous à la console ApsaraMQ for RocketMQ.
Dans le volet de navigation de gauche, cliquez sur Instances.
Dans la barre de navigation supérieure, sélectionnez une région. Exemple : China (Hangzhou).
Sur la page Instances, cliquez sur Create Instance.
-
Dans le panneau Create Message Queue for Apache RocketMQ Instance, configurez les paramètres suivants, puis cliquez sur OK.
Paramètre Description Instance Type Sélectionnez Standard Edition ou Enterprise Platinum Edition. Pour les détails de facturation, consultez Billing overview. Name Un nom descriptif pour l'instance. Exemple : rocketmq-order-prodDescription Une brève description de l'objectif de l'instance. Exemple : Order processing messages
Résultat : La nouvelle instance apparaît sur la page Instances.
Étape 2 : Créer un topic
Un topic est une catégorie de messages de premier niveau. Les producteurs envoient des messages à un topic et les consommateurs s'y abonnent pour les recevoir. Par exemple, vous pouvez créer un topic nommé Topic_Trade pour les messages transactionnels.
Règles relatives aux topics :
| Règle | Détails |
|---|---|
| Portée limitée à l'instance | Un topic appartient à une seule instance. Un topic créé sur l'Instance A n'est pas disponible sur l'Instance B. |
| Noms uniques | Les noms de topic doivent être uniques au sein d'une instance. |
| Type de message unique | Chaque topic ne prend en charge qu'un seul type de message. Créez des topics distincts pour différents types de messages. |
Exemples de types de messages :
| Nom du topic | Type de message |
|---|---|
| Topic A | Messages normaux |
| Topic B | Messages transactionnels |
| Topic C | Messages planifiés et différés |
Pour plus de détails sur les types de messages, consultez Message types.
Create the topic:
Sur la page des détails de l'instance, cliquez sur Topics dans le volet de navigation de gauche.
Sur la page Topics, cliquez sur Create Topic.
-
Dans le panneau Create Topic, configurez les paramètres suivants, puis cliquez sur OK.
Paramètre Description Name Un nom de topic unique au sein de cette instance. Exemple : Topic_OrderMessage Type Sélectionnez Normal Message. Cet exemple utilise des messages normaux. Description Une brève description de l'objectif du topic. Exemple : Order-related messages
Cet exemple utilise uniquement des messages normaux. Pour envoyer ou recevoir des messages transactionnels, planifiés ou différés, créez un topic distinct avec le type de message correspondant.
Résultat : Le nouveau topic apparaît dans la liste des topics avec le paramètre Status défini sur Enabled.
Si le paramètre Status affiche Creating , actualisez la page jusqu'à ce qu'il passe à Enabled .
Étape 3 : Créer un group ID
Un group ID identifie un ensemble de producteurs ou de consommateurs liés.
Règles relatives aux groupes :
| Règle | Détails |
|---|---|
| Limite par instance | Chaque instance prend en charge jusqu'à 1 000 groupes. Réutilisez les groupes existants ou supprimez ceux inutilisés lorsque c'est possible. Pour augmenter cette limite, contactez le support technique d'ApsaraMQ for RocketMQ. |
| Portée limitée à l'instance | Un groupe appartient à une seule instance. Un groupe créé sur l'Instance A n'est pas disponible sur l'Instance B. |
| Exigence pour les consommateurs | Un group ID est requis pour chaque consommateur. Il est facultatif pour les producteurs. |
| Séparation des protocoles | Les groupes de consommateurs peuvent consommer des messages via HTTP ou TCP, et différents groupes de consommateurs peuvent utiliser des protocoles différents. Créez des groupes distincts pour les protocoles TCP et HTTP. L'utilisation de différents protocoles au sein du même groupe de consommateurs peut entraîner des échecs de consommation de messages, des doublons ou des pertes. Pour plus de détails, consultez Manage groups. |
La modification du protocole utilisé par les consommateurs d'un groupe prend environ 1 à 2 heures. Si les consommateurs utilisent un protocole différent de celui affiché dans la console, les données de la console peuvent être inexactes, mais la messagerie n'est pas affectée. Contactez le support technique pour mettre à jour le protocole affiché.
Create the group:
Sur la page des détails de l'instance, cliquez sur Groups dans le volet de navigation de gauche.
Sur la page Groups, choisissez HTTP > Create Group.
-
Dans le panneau Create Group for HTTP Protocol, configurez les paramètres suivants, puis cliquez sur OK.
Paramètre Description Group ID Un identifiant de groupe unique. Exemple : GID_Order_HTTPDescription Une brève description de l'objectif du groupe. Exemple : HTTP consumers for order messages
Résultat : Le nouveau group ID apparaît dans la liste des groupes.
Étape 4 : Obtenir l'endpoint HTTP
Après avoir créé toutes les ressources, obtenez l'endpoint HTTP pour connecter votre application au broker ApsaraMQ for RocketMQ.
Sur la page des détails de l'instance, cliquez sur Instance Details dans le volet de navigation de gauche.
Sur la page Instance Details, cliquez sur l'onglet Endpoints.
-
Dans la section HTTP Endpoint, survolez l'endpoint et cliquez pour le copier.

L'endpoint HTTP et l'endpoint TCP de la même instance ne sont pas interchangeables. Si vous utilisez un SDK client HTTP, vous devez utiliser l'endpoint HTTP. L'endpoint HTTP est spécifique à une région. Spécifiez à la fois l'endpoint et l'ID d'instance dans votre code avant d'envoyer ou de recevoir des messages.
Résultat : L'endpoint HTTP est copié dans votre presse-papiers. Enregistrez-le pour l'utiliser dans la configuration de votre SDK.
Étapes suivantes
Une fois toutes les ressources créées, commencez à envoyer et recevoir des messages :