Мы пытаемся найти элегантное решение для отчетов об исключениях, генерируемых системами всей нашей инфраструктуры, которое проще в работе, чем просмотр электронной почты или проверка файлов журналов. Модель публикации / подписки через служебную шину решит эту проблему довольно аккуратно. Сервисы будут публиковать ошибки / события, и подписчик может фильтровать эти сообщения, используя простое сопоставление с образцом.
Мы исследовали проект NServiceBus и задались вопросом, будет ли он соответствовать нашим требованиям, глядя на образец PubSub (http://docs.particular.net/samples/pubsub/). Мы заметили, что он не решает следующие два сценария:
- Все издатели публикуют сообщения одного типа
- Подписчик не должен требовать знания конечных точек издателя
Нам удалось выполнить эти требования, но мы не уверены в правильности конфигурации. Ниже приведены наши решения:
Все издатели используют одну и ту же конфигурацию хранилища подписки (DBSubscriptionStorage), которая является общей базой данных, как описано в разделе «Хранение подписки» документации http://docs.particular.net/nservicebus/messaging/publish-subscribe/
Все издатели / подписчики настроены на использование распространителя, как описано в документации на веб-сайте nservicebus.
Мы хотели бы знать, является ли это правильной реализацией модели публикации / подписки NServiceBus, или может быть другое решение, которое достигло бы наших целей?