2011-04-12 1 views
0

J'ai fini de passer par l'exemple de Pub/Sub pour NServiceBus.NServiceBus Pub/Sub exemple et le "Distributeur"

J'essaie maintenant d'envelopper ma tête autour du "Distributor" concept de NServiceBus. Au début, j'étais très confus parce que je pensais qu'il y avait une partie de l'exemple qui correspond à un «distributeur». Je commence maintenant à penser que ce n'est pas le cas. Ainsi, l'exemple montre 2 parties mobiles. A Éditeur et Abonné. Mais la page suivante montre au moins 4 parties mobiles.

  1. Abonnement Database
  2. Editeur Node (P 1, P_2)
  3. Distributeur
  4. Abonné Node (S_A_ #, S_B_ #)

Il a tout fait beaucoup de sens jusqu'à ce que je arrivé à ce point. Maintenant, je me demande comment ces nouveaux joueurs mappent au bel exemple clair. (Ou y a-t-il un nouvel exemple que je devrais regarder?)

Je lis les pages à ce sujet, et tout cela est logique d'un point de vue conceptuel. Mais je ne vois pas comment cela fonctionne dans la vie réelle/code/exemple. Dans le cas où je suis trop vague dans ma question, laissez-moi poser une question plus précise: Que devrais-je faire à l'exemple Pub/Sub pour qu'il utilise les 4 parties ci-dessus?

Répondre

2

Si vous prenez l'échantillon Pub/Sub de base, vous devez ajouter quelques points de terminaison supplémentaires au mixage. Chaque point de terminaison de distributeur contient les messages de l'éditeur. "Derrière" chaque Distributeur sera un ensemble d'Abonnés qui se comporteront également comme des Travailleurs (vous devez ajouter la configuration du Distributeur). Chaque ensemble d'abonnés derrière un distributeur sera identique. Une fois que les Distributeurs reçoivent du travail de l'Éditeur, ils distribueront les messages parmi les Abonnés.

Pour configurer ceci, j'ajouterais 2 distributeurs à l'échantillon et placerais l'abonné 1 derrière un distributeur et l'abonné 2 derrière l'autre. D'abord, assurez-vous que tout fonctionne. Ensuite, lancez une autre instance de chaque (pointant vers leurs distributeurs respectifs) de sorte que vous pouvez les regarder équilibrer la charge. En fin de compte, vous aurez un éditeur, deux distributeurs et 4 abonnés au total. De là, vous pouvez ajouter un autre éditeur pour compléter l'image.

+0

Chaque abonné derrière le distributeur est donc un nœud physique redondant? (Cela signifie qu'ils ne reçoivent pas tous le message, juste l'un d'entre eux?) – Vaccano

+1

Vous pouvez avoir plusieurs processus sur chaque machine physique. Chaque instance de l'Abonné recevra uniquement les messages que le Distributeur lui donne. La combinaison des noeuds Distributor et N Subscriber fonctionne comme un abonné logique. –

Questions connexes