我正在考虑消息传递。目前我们正在使用 Rebus 增加一些场景。我们也在考虑 NServiceBus。
我们正在尝试构建的场景是后台任务处理系统的概念证明。今天,我们有一些以不同方式托管的后端服务。(网络、Windows 服务、控制台应用程序)我希望将它们连接到 rebus 并开始使用竞争消费者来消费消息,一些消息将有一个侦听器,而一些消息将共享消息负载。优雅的 :)
我从另一个问题中得到了一个很好的开始,我应该如何为一个生产者和许多消费者设置 rebus,它在概念验证中运行良好。
现在我想开始报告进度。我最初的方法是设置 pub/sub 并启动一个服务来监听来自所有服务的进度事件。如果一项服务对未来的特定进展感兴趣,则很容易订阅感兴趣的消息并开始收听。
但是我应该如何设置竞争消费者和发布/订阅?它是两个独立的东西吗?(在 rebus 情况下,一个适配器使用 UseSqlServerInOneWayClientMode / UseSqlServer 和另一个使用我们想要的协议为发布/订阅设置的适配器?)
还是有比这里有两个“公共汽车”更好的解决方案?