我们正在尝试找到一种优雅的解决方案,用于报告从我们的基础架构中的系统生成的异常,该解决方案比查看电子邮件或检查日志文件更易于操作。跨服务总线的发布/订阅模型可以很好地解决这个问题。服务将发布错误/事件,订阅者可以使用简单的模式匹配过滤这些消息。
我们一直在研究 NServiceBus 项目,想知道它是否能满足我们的要求,查看 PubSub 示例 ( http://docs.particular.net/samples/pubsub/ ) 我们注意到它没有解决以下两种情况:
- 所有发布者发布相同的消息类型
- 订阅者不应要求了解发布者端点
我们已经设法实现了这些要求,但我们不确定配置是否正确。以下是我们的解决方案:
所有发布者共享相同的订阅存储配置 (DBSubscriptionStorage),这是一个共享数据库,如文档http://docs.particular.net/nservicebus/messaging/publish-subscribe/的订阅存储部分中所述
所有发布者/订阅者都配置为使用 nservicebus 网站上的文档中描述的分发者。
我们想知道这是否是 NServiceBus 发布/订阅模型的正确实现,或者是否有其他解决方案可以实现我们的目标?