Tous les produits
Search
Centre de documentation

ApsaraMQ for RocketMQ:Use instances

Dernière mise à jour :Aug 09, 2026

Le 23 janvier 2019, ApsaraMQ for RocketMQ a introduit une architecture basée sur des instances qui améliore l'isolation des ressources, simplifie leur gestion, ajoute la prise en charge des protocoles TCP et HTTP et centralise la gestion des autorisations via Resource Access Management (RAM).

Remarque

Mettez à jour votre ons-client vers la dernière version pour garantir la compatibilité avec ces modifications.

Types d'instances

ApsaraMQ for RocketMQ propose deux éditions pour l'isolation multi-locataire. Achetez plusieurs instances dans la même région afin de séparer les environnements, les équipes ou les charges de travail.

Édition Isolation Limite par région
Standard Edition Logique : les instances partagent l'infrastructure sous-jacente Jusqu'à 8
Enterprise Platinum Edition Physique : chaque instance s'exécute sur des ressources dédiées Illimitée

Pour plus d'informations, consultez ApsaraMQ for RocketMQ Enterprise Platinum Edition.

Namespaces et nommage des ressources

Un namespace définit la portée d'unicité des noms de ressources, tels que les topics et les ID de groupe. Au sein d'un namespace, chaque nom de ressource doit être unique. En revanche, des ressources situées dans des namespaces distincts peuvent partager le même nom.

ApsaraMQ for RocketMQ prend en charge deux catégories d'instances selon le comportement du namespace.

Instances par défaut

Les instances par défaut partagent un namespace global :

  • Les noms de ressources doivent être uniques globalement, au sein de toutes les instances et entre elles.

  • Pour les utilisateurs existants, une instance par défaut est automatiquement créée dans chaque région où des ressources sont déjà présentes.

Pour configurer l'endpoint, accédez à la page Instance Details dans la console ApsaraMQ for RocketMQ et copiez la valeur de l'endpoint.

// Recommended
properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxxx");

// Legacy (still supported, but NAMESRV_ADDR is preferred)
properties.put(PropertyKeyConst.ONSAddr, "xxxx");

Instances avec namespaces

Les instances dotées de namespaces indépendants limitent la portée des noms de ressources au niveau de l'instance :

  • L'unicité des noms de ressources n'est requise qu'au sein d'une même instance. Différentes instances peuvent réutiliser les mêmes noms.

  • Cette approche est utile pour les configurations multi-équipes ou multi-environnements, où chaque équipe ou environnement dispose de sa propre instance.

Pour configurer l'endpoint, accédez à la page Instance Details dans la console ApsaraMQ for RocketMQ et copiez la valeur de l'endpoint.

// Recommended
properties.put(PropertyKeyConst.NAMESRV_ADDR, "xxx");
Important

Les instances avec namespaces nécessitent la dernière version de ons-client. Consultez les notes de version de votre SDK :

Gestion simplifiée des ressources

Ce qui a changé

Auparavant, ApsaraMQ for RocketMQ gérait trois types de ressources (topics, ID de producteur et ID de consommateur) avec des relations N:N. Chaque topic nécessitait des associations explicites avec un producteur et un consommateur, ce qui devenait difficile à maintenir à grande échelle.

Les ID de groupe remplacent les ID de producteur et de consommateur

Les ID de producteur et les ID de consommateur sont désormais unifiés en ID de groupe. Dans la console ApsaraMQ for RocketMQ, les modules Producers et Consumers sont fusionnés en un seul module Groups.

Le flux de travail simplifié est le suivant :

  1. Créez un topic (inchangé).

  2. Créez un ID de groupe ; aucun ID de producteur ou de consommateur séparé n'est nécessaire.

  3. Associez l'ID de groupe à un topic dans votre code ; aucune association manuelle n'est requise dans la console.

Mettre à jour votre code

Utilisez PropertyKeyConst.GROUP_ID à la place des paramètres obsolètes PropertyKeyConst.ProducerId et PropertyKeyConst.ConsumerId.

Recommandé :

// Use GROUP_ID for both producers and consumers.
// ProducerId and ConsumerId are deprecated.
properties.put(PropertyKeyConst.GROUP_ID, "The original CID-XXX or the GID-XXX");

Hérité (toujours pris en charge) :

// Producer
properties.put(PropertyKeyConst.ProducerId, "The original PID-XXX or the GID-XXX");

// Consumer
properties.put(PropertyKeyConst.ConsumerId, "The original CID-XXX or the GID-XXX");

Notes de compatibilité

  • Les ID de producteur et de consommateur existants continuent de fonctionner. Les services en cours d'exécution ne sont pas affectés.

  • Les ID de consommateur commençant par CID- ou CID_ restent valides. Spécifiez-les comme valeur de PropertyKeyConst.ConsumerId ou de PropertyKeyConst.GROUP_ID.

  • La liste des ID de producteur n'est plus visible dans la console, mais cela n'affecte pas les services en cours d'exécution.

Prise en charge de HTTP et RESTful

Les instances Standard Edition prennent en charge les protocoles HTTP et RESTful pour la connectivité au sein d'un réseau ou entre différents réseaux. Des SDK client HTTP sont disponibles pour sept langages de programmation.

Pour plus de détails, consultez Remarques sur l'utilisation des SDK client HTTP.

Migrer les politiques RAM

La fonctionnalité intégrée de gestion des autorisations dans ApsaraMQ for RocketMQ a été dépréciée le 2 avril 2019. Migrez vos configurations d'autorisation vers Alibaba Cloud RAM dès que possible.

  • Configurez les politiques RAM pour votre compte. Pour obtenir des instructions, consultez Accorder des autorisations aux utilisateurs RAM.

  • Les autorisations existantes restent effectives pendant la transition. Après la migration, gérez toutes les politiques depuis la console RAM.