2012-05-02 4 views
2

Я знаю, что не должно быть нескольких издателей, публикующих одно и то же событие. Но как я должен масштабировать подписчика, который публикует событие после обработки события, на которое оно подписано? Масштабирование этого результата приведет к тому, что несколько издателей опубликуют одно и то же событие.Как масштабировать издателя NServiceBus

При поиске в google я получаю противоречивые ответы. Один говорит, что я должен использовать send вместо публикации, а другой источник говорит просто использовать хранилище общей подписки.

Я бы, вероятно, пошел с общим хранилищем подписки, но я не уверен, что это будет работать правильно.

+0

Итак, подписчик публикует одно и то же событие, которое оно только что обработало? Это для того, чтобы обрабатывать больше нагрузки? –

+0

Нет, например, это может быть биллинг, который подписан на OrderPlaced и публикует событие PaymentDetailsEmailed (после его обработки OrderPlaced). – Bruno

ответ

1

Если я правильно прочитал это, я бы использовал Distributor для масштабирования подписчиков. Если вы используете 3.0, это будет включать добавление другого узла и небольшое количество конфигов. Если вы используете 2.x, это требует немного дополнительной настройки, включая другую конечную точку. Есть .

+0

Масштабирование абонента не является проблемой. Когда я буду использовать дистрибьютора для увеличения числа подписчиков, я также получу несколько издателей, публикующих одно и то же событие. Как я должен обрабатывать несколько издателей, публикующих одно и то же событие. – Bruno

+0

С Распределителем работа разделена, поэтому каждый издатель будет публиковать разные события. Они будут использовать хранилище подписки, чтобы все подписчики получали сообщения независимо от того, какая конечная точка сделала публикацию. –

+0

Таким образом, хранилище подписки может быть разделено между разными экземплярами одного и того же издателя событий и не приведет к конфликтам между ними? – Bruno

Смежные вопросы