Пример NServiceBus Pub/Sub и "Дистрибьютор"

Я закончил на примере Pub/Sub для NServiceBus.

Я сейчас пытаюсь обернуть голову вокруг концепции" Дистрибьютор " NServiceBus.

Сначала я был очень смущен, потому что думал, что есть какая-то часть примера, которая сопоставлена ​​с "Дистрибьютором". Теперь я начинаю думать, что это не так.

Итак, пример показывает 2 движущиеся части. Издатель и подписчик. Но на следующей странице показаны как минимум 4 движущиеся части.

  1. База данных подписки
  2. Узел издателя (P_1, P_2)
  3. дистрибьютор
  4. Абонентский узел (S_A_#, S_B_#)

Все это имело большой смысл, пока я не дошел до этой точки. Теперь мне остается только удивляться, как эти новые игроки соответствуют хорошему ясному примеру. (Или есть новый пример, на который я должен смотреть?)

Я читаю страницы об этом, и все это имеет смысл с концептуальной точки зрения. Но я не вижу, как это работает в реальной жизни / код / ​​пример.

Если я слишком расплывчат в своем вопросе, позвольте мне задать более конкретный вопрос: что мне нужно сделать с примером Pub/Sub, чтобы он использовал 4 части выше?

1 ответ

Решение

Если вы берете базовый пример Pub/Sub, вам нужно добавить еще несколько конечных точек в микс. Каждая конечная точка распространителя будет содержать сообщения от издателя. "Позади" каждого Дистрибьютора будет набор Подписчиков, которые также будут вести себя как Рабочие (вам необходимо добавить конфигурацию Дистрибьютора). Каждый набор подписчиков за дистрибьютором будет идентичен. Как только Дистрибьюторы получат работу от Издателя, они будут распространять сообщения среди Подписчиков.

Чтобы настроить это, я бы добавил 2 распространителей к образцу и поместил подписчика 1 позади одного распространителя, а подписчика 2 - за другим. Сначала убедитесь, что все работает. Затем раскрутите еще один экземпляр каждого (указывая на их соответствующих дистрибьюторов), чтобы вы могли наблюдать за их балансировкой нагрузки. В итоге у вас будет один издатель, два распространителя и 4 подписчика. Оттуда вы можете добавить еще один издатель для завершения картины.

Другие вопросы по тегам