3 votes

RabbitMQ : Pourquoi le mode ha-sync par défaut est-il manuel ?

J'ai mis en place un cluster RabbitMQ et je suis la documentation sur la mise en place de files d'attente en miroir ( Files d'attente à haute disponibilité ). C'est écrit :

Les files d'attente peuvent être configurées pour se synchroniser automatiquement en définissant l'option ha-sync-mode sur automatique. ha-sync-mode peut aussi être défini sur manuel. manuel. S'il n'est pas défini, la synchronisation est considérée comme manuelle.

Pourquoi la synchronisation manuelle est-elle la valeur par défaut ? Quels sont les cas d'utilisation de la synchronisation manuelle ?

Pendant ce temps, j'ai utilisé :

rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'

5voto

user57318 Points 85

Je viens de lire le lien fourni et je suis tombé sur cette clause, qui peut expliquer pourquoi "manuel" est la valeur par défaut, avec les parties importantes mises en évidence :

La synchronisation explicite peut être déclenchée de deux manières : manuellement ou automatiquement. Si une file d'attente est configurée pour se synchroniser automatiquement, elle se synchronisera chaque fois qu'un nouvel esclave la rejoindra. devenir insensible jusqu'à ce qu'il l'ait fait.

Ainsi, la synchronisation automatique rendra la file d'attente non réactive pendant un certain temps, ce qui peut ne pas être bon selon le cas d'utilisation de la file d'attente. Et, la synchronisation automatique se produit à chaque fois qu'un nouvel esclave s'inscrit. S'il y a un grand nombre d'esclaves qui s'inscrivent, alors la file d'attente ne répondra pas pendant un certain temps, à moins que la file d'attente soit plutôt vide ou que le réseau soit très rapide.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X