2015-10-23 2 views
0

Est-ce que je comprends bien que la meilleure façon d'assurer la fiabilité de la file d'attente c'est le réseau de courtiers maître-esclave (par exemple maître-esclave en utilisant ZooKeeper)? Dans les paramètres de basculement des consommateurs et des producteurs, nous définissons les adresses des maîtres et lorsque l'un des maîtres se déconnecte, un autre nœud maître-esclave du réseau de courtiers reçoit ce messager de ses esclaves et ne perd pas de messages. Quand un maître brisé se met en ligne, il obtient de nouveaux consommateurs et producteurs et reçoit des messages. J'ai raison?Comment assurer la fiabilité du courtier ActiveMQ?

Répondre

2

Il existe deux manières de fournir une haute disponibilité avec ActiveMQ.

  1. Configuration maître/esclave à l'aide d'un stockage partagé. Pour KahaDB (magasin par défaut), ce serait un disque partagé quelque part. Partage de fichiers NFS/Windows ou similaire. Il existe plusieurs façons de créer des disques partagés fiables. SAN et quoi non.

  2. Répliqué maître/esclave. Ce serait LevelDB avec Zookeeper. Si vous ne pouvez pas obtenir un disque partagé fiable et haute performance, ce serait votre meilleure option.

Vous avez raison, le client doit entrer une adresse de basculement lors de la connexion.

+0

Lorsque nous avons le maître sur 192.168.0.100 et les esclaves sur, par exemple 192.168.0.101, 192.168.0.102, 192.168.0.103 nous réglons le basculement 192.168.0.100,192.168.0.101,192.168.0.102,192.168.0.103, est-ce correct ? Et si le maître descend, ZooKeeper vote pour le nouveau maître, il peut être 192.168.0.103. Et comment les producteurs et les consommateurs savent-ils qui est le nouveau maître? Ils essayent juste tout le failover IPS jusqu'à la connexion de succès? – Hayate

+0

Oui, le protocole de basculement fonctionne comme ça. Il y a quelques options pour le modifier, mais le client les essaie tous jusqu'à ce qu'une connexion soit établie. –