Tous les produits
Search
Centre de documentation

ApsaraMQ for RabbitMQ:Comparison between ApsaraMQ for RabbitMQ and open-source RabbitMQ

Dernière mise à jour :Aug 11, 2026

ApsaraMQ for RabbitMQ est un service de messagerie entièrement géré reposant sur une architecture de stockage distribuée et hautement disponible. Il implémente le protocole AMQP 0-9-1 et assure la compatibilité avec les clients RabbitMQ open source. Par rapport à RabbitMQ open source, ApsaraMQ for RabbitMQ résout les problèmes de stabilité courants, tels que l'accumulation de messages et les scénarios de split-brain. Il offre également les avantages d'un service de messagerie cloud, notamment une forte concurrence, un déploiement distribué et une mise à l'échelle flexible.

Cette rubrique compare ApsaraMQ for RabbitMQ et RabbitMQ open source en termes de fonctionnalités, de mise à l'échelle, de fiabilité, ainsi que pour les exchanges et les queues.

Pour obtenir la liste complète des avantages, consultez la rubrique Avantages.

Fonctionnalités

Fonctionnalité

ApsaraMQ for RabbitMQ

RabbitMQ open source

Protocole

AMQP 0-9-1

AMQP 0-9-1, AMQP 1.0, STOMP, MQTT, HTTP(S) et WebSocket

SDK client

Tous les SDK clients RabbitMQ open source (tous langages, toutes versions)

SDK open source

Messages différés

Précision à la seconde. Compatible avec le plug-in x-delayed-message et la méthode TTL. Consultez la rubrique Messages différés.

Nécessite un plug-in ou la méthode d'expiration TTL et de transfert des messages

Messages transactionnels

Non pris en charge

Pris en charge

Messages ordonnés

Pris en charge. Consultez la rubrique Consommation ordonnée des messages.

Pris en charge

Priorité des messages

Uniquement pour les instances dédiées

Pris en charge

Nouvelle tentative de distribution des messages

Nouvelle distribution automatique lorsque les messages ne sont pas accusés de réception dans le délai imparti. Consultez la rubrique Politique de nouvelle tentative.

Aucune nouvelle tentative intégrée. Les messages non accusés bloquent la queue, ce qui peut provoquer une accumulation et une interruption du service.

Authentification

Nom d'utilisateur et mot de passe personnalisés, ou identifiants générés à partir d'une paire AccessKey dans Resource Access Management (RAM). Consultez les rubriques Noms d'utilisateur et mots de passe statiques et Identifiants RAM.

Nom d'utilisateur et mot de passe personnalisés

Contrôle d'accès

Modèle d'autorisations open source et autorisation basée sur les politiques RAM. Consultez les rubriques Gestion des autorisations et Contrôle d'accès RAM.

Modèle d'autorisations open source

Observabilité

Capacité

ApsaraMQ for RabbitMQ

RabbitMQ open source

Tableau de bord

Métriques intégrées au niveau vhost, exchange et queue. L'intégration Prometheus et Grafana est préconfigurée. Consultez la rubrique Tableau de bord.

Deux options : (1) Utilisez l'interface de gestion pour les métriques, mais construisez votre propre couche de stockage et de visualisation. (2) Configurez manuellement Prometheus et Grafana.

Suivi des messages

Affichage des traces basé sur la console présentant le cycle de vie complet du message. Recherche par queue, ID de message ou heure de traitement. Consultez la rubrique Traces des messages.

Les données de trace sont écrites dans les fichiers journaux côté serveur, ce qui rend la recherche et l'analyse des causes profondes plus lentes.

Commandes AMQP

Le tableau suivant compare le comportement de la commande AMQP BasicCancel entre ApsaraMQ for RabbitMQ et RabbitMQ open source.

Élément

ApsaraMQ for RabbitMQ

RabbitMQ open source

BasicCancel

Annule l'abonnement du consommateur ; les messages déjà distribués sont replacés dans la queue.

Annule l'abonnement du consommateur ; les messages déjà distribués restent dans l'état Unacked.

Cette différence est importante lors du dépannage de la distribution des messages après l'annulation de la consommation par un client. Dans ApsaraMQ for RabbitMQ, le remplacement dans la queue après BasicCancel signifie que les messages non accusés peuvent être redistribués à d'autres consommateurs. Dans RabbitMQ open source, ces messages restent non accusés jusqu'à la fermeture du canal ou l'expiration du délai.

Mise à l'échelle et fiabilité

Dimension

ApsaraMQ for RabbitMQ

RabbitMQ open source

Débit du cluster

Aucune limite supérieure fixe. Une architecture distribuée sans nœud maître prend en charge la mise à l'échelle horizontale.

Limitée par la capacité d'un seul nœud. La mise à l'échelle verticale nécessite une mise à niveau du matériel.

Débit d'une seule queue

Aucune limite supérieure fixe. Chaque queue effectue une mise à l'échelle horizontale sur plusieurs nœuds.

Limitée par le nœud qui héberge la queue.

Connexions

Mise à l'échelle avec le cluster. L'ajout de nœuds augmente la capacité de connexion sans dégrader les performances.

Limitée par les ressources d'une seule machine.

Messages différés

Précision à la seconde, débit élevé, prêt à l'emploi

Nécessite la configuration d'un plug-in

Haute disponibilité

Déploiement multizone avec séparation du stockage et du calcul. Les nœuds de calcul défaillants peuvent être rapidement supprimés et isolés. Les données sont stockées en triple exemplaire.

Repose sur les mirror queues ou les quorum queues. Cette implémentation est sujette aux problèmes de split-brain.

Accumulation de messages

Maintient des performances stables même en cas de retards massifs. Le fonctionnement normal du cluster n'est pas affecté.

Les retards importants consomment la mémoire du nœud et peuvent déclencher des erreurs de type out-of-memory, entraînant une interruption du service.

Mise à l'échelle élastique

Ajoutez ou supprimez des nœuds de cluster à la demande pour adapter la capacité. Les instances serverless sont facturées en fonction du volume de messages, ce qui élimine le besoin d'une planification préalable de la capacité.

La capacité est contrainte par la plus grande machine du cluster. La mise à l'échelle nécessite des mises à niveau matérielles ou un nouveau partitionnement du cluster.

Auto-réparation

Un système d'inspection intégré détecte et résout automatiquement les interblocages et les pannes de nœuds.

Aucune auto-réparation automatisée. Une intervention manuelle est requise.

Exchanges

ApsaraMQ for RabbitMQ prend en charge les mêmes types et propriétés d'exchanges que RabbitMQ open source.

Propriété

ApsaraMQ for RabbitMQ

RabbitMQ open source

Types

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

Persistance

Persistant et non persistant

Persistant et non persistant

Suppression automatique

Pris en charge

Pris en charge

Interne

Pris en charge

Pris en charge

Exchange alternatif

Pris en charge

Pris en charge

Exchange de hachage cohérent

Pris en charge

Pris en charge

Queues

ApsaraMQ for RabbitMQ abstrait les décisions d'infrastructure au niveau des queues. Toutes les queues s'exécutent sur un cluster distribué haute disponibilité, il n'est donc pas nécessaire de choisir entre les types de queues classic et quorum ni de configurer manuellement la réplication.

Propriété

ApsaraMQ for RabbitMQ

RabbitMQ open source

Type de queue

Cluster HA distribué (aucune configuration requise)

Sélection manuelle requise : classic (mirror queue) ou quorum queue

Attribution des nœuds

Entièrement géré, aucune attribution manuelle

Sélection manuelle des nœuds requise

Politique de nouvelle tentative

Nouvelle distribution automatique en cas de délai d'attente de consommation. Consultez la rubrique Politique de nouvelle tentative.

Aucune nouvelle distribution basée sur un délai d'attente

Persistance

Persistant et non persistant

Persistant et non persistant

Longueur maximale / octets de longueur maximale / longueur maximale en mémoire / octets de longueur maximale en mémoire

Aucune configuration requise. Prend en charge l'accumulation massive de messages sans pression sur la mémoire.

Doit être configuré pour éviter les pannes out-of-memory causées par une accumulation illimitée.

Limite de distribution

Valeur par défaut de 16 (statique). Consultez la rubrique Politique de nouvelle tentative.

Configuration manuelle requise

Dead-letter exchange

Pris en charge

Pris en charge

Clé de routage dead-letter

Pris en charge

Pris en charge

Consommateur unique actif

Pris en charge. Consultez la rubrique Consommation ordonnée des messages.

Pris en charge

Action

Le tableau suivant compare le comportement de la commande AMQP BasicCancel entre ApsaraMQ for RabbitMQ et RabbitMQ open source.

Élément

ApsaraMQ for RabbitMQ

RabbitMQ open source

BasicCancel

Annule l'abonnement du consommateur ; les messages déjà distribués sont replacés dans la queue.

Annule l'abonnement du consommateur ; les messages déjà distribués restent dans l'état Unacked.