Plug-ins pour Amazon MQ pour RabbitMQ - Amazon MQ

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Plug-ins pour Amazon MQ pour RabbitMQ

Amazon MQ pour RabbitMQ prend en charge le plug-in de gestion RabbitMQ qui alimente la gestion et la console Web RabbitMQ. API Vous pouvez utiliser la console Web et la gestion API pour créer et gérer les utilisateurs et les politiques des courtiers.

En plus du plugin de gestion, Amazon MQ for RabbitMQ prend également en charge les plugins suivants.

Plug-in Shovel

Les agents gérés par Amazon MQ prennent en charge la pelle RabbitMQ, ce qui vous permet de déplacer des messages des files d'attente et des échanges sur une instance d'agent vers une autre. Vous pouvez utiliser la pelle pour connecter des agents à couplage faible et distribuer des messages loin des nœuds avec des charges de messages plus lourdes.

Les agents RabbitMQ gérés par Amazon MQ prennent en charge les pelles dynamiques. Les pelles dynamiques sont configurées à l'aide de paramètres d'exécution et peuvent être démarrées et arrêtées à tout moment par programmation par une connexion client. Par exemple, à l'aide de la gestion RabbitMQAPI, vous pouvez créer une PUT demande au point de API terminaison suivant pour configurer une pelle dynamique. Dans cet exemple, {vhost} peut être remplacé par le nom du vhost de l'agent, et {name} remplacé par le nom de la nouvelle pelle dynamique.

/api/parameters/shovel/{vhost}/{name}

Dans le corps de requête, vous devez spécifier soit une file d'attente, soit un échange, mais pas les deux. Cet exemple ci-dessous configure une pelle dynamique entre une file d'attente locale spécifiée dans src-queue et une file d'attente distante définie dans dest-queue. De manière similaire, vous pouvez utiliser src-exchange et dest-exchange pour configurer une pelle entre deux échanges.

{ "value": { "src-protocol": "amqp091", "src-uri": "amqp://localhost", "src-queue": "source-queue-name", "dest-protocol": "amqp091", "dest-uri": "amqps://b-c8352341-ec91-4a78-ad9c-a43f23d325bb.mq.us-west-2.amazonaws.com:5671", "dest-queue": "destination-queue-name" } }
Important

Vous ne pouvez pas configurer de pelle entre les files d'attente ou les échanges si la destination de la pelle est un agent privé. Vous pouvez uniquement configurer une pelle entre les files d'attente ou les échanges dans des agents publics, ou entre une source dans un agent privé et une destination dans un agent public.

Pour plus d'informations sur l'utilisation de pelles dynamiques, consultez Plugin de pelle dynamique RabbitMQ.

Note

Amazon MQ ne prend pas en charge l'utilisation de pelles statiques.

Plugin de fédération

Amazon MQ prend en charge les échanges et les files d'attente fédérées. Avec la fédération, vous pouvez répliquer le flux de messages entre les files d'attente, les échanges et les consommateurs sur des agents distincts. Les files d'attente fédérées et les échanges utilisent point-to-point des liens pour entrer en contact avec les pairs d'autres courtiers. Alors que les échanges fédérés, par défaut, acheminent les messages une fois, les files d'attente fédérées peuvent déplacer des messages n'importe quel nombre de fois selon les besoins des consommateurs.

Vous pouvez utiliser la fédération pour autoriser un agent en aval pour consommer un message provenant d'un échange ou d'une file d'attente en amont. Vous pouvez activer la fédération sur les courtiers en aval à l'aide de la console Web RabbitMQ ou de la gestion. API

Important

Vous ne pouvez pas configurer de fédération si la file d'attente ou l'échange en amont se trouve dans un agent privé. Vous pouvez uniquement configurer de fédération entre les files d'attente ou les échanges dans des agents publics, ou entre une file d'attente ou un échange en amont dans un agent public, et une file d'attente ou un échange en aval dans un agent privé.

Par exemple, à l'aide de la gestionAPI, vous pouvez configurer la fédération en procédant comme suit.

  • Configurez un ou plusieurs flux en amont qui définissent les connexions de fédération à d'autres nœuds. Vous pouvez définir des connexions de fédération à l'aide de la console Web RabbitMQ ou de la gestion. API À l'aide de la gestionAPI, vous pouvez créer une POST demande /api/parameters/federation-upstream/%2f/my-upstream avec le corps de demande suivant.

    {"value":{"uri":"amqp://server-name","expires":3600000}}
  • Configurez une politique pour permettre à vos files d'attente ou échanges d'être fédérés. Vous pouvez configurer les politiques à l'aide de la console Web RabbitMQ ou de la gestion. API À l'aide de la gestionAPI, vous pouvez créer une POST demande /api/policies/%2f/federate-me avec le corps de demande suivant.

    {"pattern":"^amq\.", "definition":{"federation-upstream-set":"all"}, "apply-to":"exchanges"}
    Note

    Le corps de requête suppose que les échanges sur le serveur sont nommés en commençant par amq. L'utilisation de l'expression régulière ^amq\. garantira que la fédération est activée pour tous les échanges dont le nom commence par « amq ». Les échanges sur votre serveur RabbitMQ peuvent être nommés différemment.

Pour plus d'informations sur la configuration du plugin de fédération, consultez plugin de fédération RabbitMQ.

Plugin d'échange de hachage cohérent

Par défaut, Amazon MQ for RabbitMQ prend en charge le plugin de type d'échange de hachage cohérent. Les échanges de hachage cohérent acheminent les messages vers les files d'attente en fonction d'une valeur de hachage calculée à partir de la clé de routage d'un message. Compte tenu d'une clé de routage raisonnablement uniforme, les échanges de hachage cohérents peuvent répartir les messages entre les files d'attente de manière raisonnablement uniforme.

Pour les files d'attente liées à un échange de hachage cohérent, la clé de liaison est a number-as-a-string qui détermine le poids de liaison de chaque file d'attente. Les files d'attente avec un poids de liaison plus élevé recevront une distribution proportionnellement plus élevée de messages provenant de l'échange de hachage cohérent auquel elles sont liées. Dans une topologie d'échange de hachage cohérent, les éditeurs peuvent simplement publier des messages dans l'échange, mais les consommateurs doivent être explicitement configurés pour consommer des messages provenant de files d'attente spécifiques.

Pour plus d'informations sur les échanges de hachage cohérent, consultez la section Type d'échange de hachage cohérent de RabbitMQ sur le site Web. GitHub