View a markdown version of this page

RabbitMQ 4.3 - 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.

RabbitMQ 4.3

Amazon MQ prend désormais en charge la version RabbitMQ 4.3 de la série de RabbitMQ 4 versions sur le type d'instance mq.m7g pour toutes les tailles d'instance prises en charge. RabbitMQLa version 4.3 introduit des améliorations de la file d'attente de quorum, de nouveaux types d'échange et complète la suppression de plusieurs fonctionnalités qui étaient obsolètes dans les versions 4.x précédentes. Pour plus d'informations sur cette version, consultez les notes de mise à jour de la version RabbitMQ 4.3.0 sur le GitHub site Web.

Important

Amazon MQ prend uniquement en charge la mise à niveau vers la version RabbitMQ 4.3 à partir de la RabbitMQ version 4.2. Vous ne pouvez pas passer directement de la version RabbitMQ 3.13 à la version 4.3. Si votre courtier utilise la version RabbitMQ 3.13, vous devez d'abord passer à la version RabbitMQ 4.2 avant de passer à la version 4.3.

Changements de dernière minute dans RabbitMQ 4.3 sur Amazon MQ

Les modifications open source suivantes peuvent avoir un impact sur vos applications lors de la mise à niveau vers la version RabbitMQ 4.3. Passez en revue ces modifications avant de mettre à niveau votre courtier.

  • Les files d'attente transitoires non exclusives sont rejetées : la déclaration d'une file d'attente à la fois non durable et non exclusive renvoie désormais une erreur. Amazon MQ pour RabbitMQ 4.3 a supprimé la prise en charge de cette fonctionnalité. Utilisez plutôt des files d'attente durables, des files d'attente exclusives ou des files d'attente durables avec TTL de file d'attente sur le RabbitMQ site Web.

  • La QoS globale est rejetée : Calling basic.qos with renvoie global=true désormais une erreur de canal. Amazon MQ pour RabbitMQ 4.3 a supprimé la prise en charge de cette fonctionnalité. Utilisez plutôt prefetch () global=false par consommateur. Pour plus d'informations sur cette modification, consultez la section Suppression de la QoS globale sur le RabbitMQ site Web.

  • Le stockage de la file d'attente v1 classique est supprimé : la déclaration d'une file d'attente avec x-queue-version=1 now renvoie une erreur. Classic Queue v2 est le seul moteur de stockage pris en charge. Amazon MQ applique la version 2 depuis la version RabbitMQ 3.12, de sorte que les files d'attente existantes ne sont pas affectées.

  • Le délai d'attente des consommateurs ne s'applique plus aux files d'attente classiques : les files d'attente classiques n'évaluent plus les délais d'attente des consommateurs. Si un utilisateur est bloqué au niveau de l'application, les messages RabbitMQ ne sont pas automatiquement redistribués. Le consumer_timeout paramètre continue de s'appliquer aux files d'attente de quorum. Si votre application dépend du délai d'attente du consommateur pour les files d'attente classiques, envisagez de migrer vers des files d'attente de quorum ou de mettre en œuvre des contrôles du rythme cardiaque au niveau de l'application. Pour plus d'informations sur cette modification, consultez les notes de mise à jour de la version RabbitMQ 4.3.0 sur le GitHub site Web.

Nouvelles fonctionnalités et améliorations dans RabbitMQ 4.3 sur Amazon MQ

  • Priorité stricte des files d'attente de quorum : les files d'attente de quorum prennent désormais en charge un ordre de priorité strict avec un maximum de 32 niveaux (0 à 31), activé avec l'argument queue. x-max-priority Higher-priority les messages sont toujours transmis avant les messages de moindre priorité. Cela remplace la prestation basée sur des ratios à 2 niveaux introduite dans la section 4.2. RabbitMQ Pour plus d'informations sur les priorités des files d'attente de quorum, consultez la section Priorités des files d'attente de quorum sur le site WebRabbitMQ.

  • Nouvelle tentative différée de la file d'attente de quorum : les files d'attente de quorum prennent en charge les nouvelles tentatives différées avec un délai d'attente croissant configurable. Vous pouvez configurer le comportement des nouvelles tentatives à l'aide d'arguments de file d'attente ou de clés de stratégie (delayed-retry-type,delayed-retry-min,delayed-retry-max). Pour plus d'informations sur les files d'attente de quorum, consultez la section Files d'attente de quorum sur le RabbitMQ site Web.

  • Délai d'attente granulaire des consommateurs pour les files d'attente du quorum : le délai d'attente des consommateurs peut désormais être défini par consommateur, par file d'attente ou à l'aide d'une politique. Cela permet un contrôle plus précis que le paramètre précédent à l'échelle du courtierconsumer_timeout.

  • Limite de livraison modifiable à l'aide d'une politique : la limite de livraison de la file d'attente du quorum peut désormais être mise à jour à l'aide d'une politique sans nécessiter de redéclaration de la file d'attente.

  • Échange de hachage cohérent (x-modulus-hash) : le type x-modulus-hash d'échange est désormais intégré au cœur. RabbitMQ Ce type d'échange distribue les messages entre les files d'attente limitées en utilisant un hachage cohérent de la clé de routage, ce qui permet de répartir la charge de travail sans logique côté client. Pour plus d'informations sur les échanges de hachage cohérents, consultez la section Échange de hachage cohérent sur le RabbitMQ site Web.

Important

Si vous effectuez une mise à niveau depuis la RabbitMQ version 4.2, notez la modification suivante concernant la remise des messages. Les messages existants dont les priorités étaient auparavant assignées à une priorité élevée (≥ 5) ou normale (0—4) sont désormais distribués selon un ordre strict. Par conséquent, les messages de priorité inférieure peuvent être privés tandis que les messages de priorité plus élevée restent dans la file d'attente. RabbitMQ4.2 a utilisé une diffusion basée sur un ratio de 2:1, ce qui a garanti la progression des messages à priorité normale.