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