假设有一个服务总线实例以单向模式工作。服务总线生成两种消息:Foo和Bar。这两种消息类型都将保存在数据库中。
所以我可以看到两种方法:
-
有两个队列(FooQueue、BarQueue)和两个总线实例(两个进程)-一个用于从FooQueue接收,另一个用于接收BarQueue
-
有一个队列和一个总线实例,带有两个Foo和Bar消息的处理程序
我想问一下,决定何时使用哪种方法的最佳实践是什么(甚至可能是决策树?:)。
提前感谢
嗯。。。。在您的情况下,听起来很像周围的基础设施(即数据库连接字符串、数据层API)以及问题域("将消息保存到数据库")在两种消息类型之间共享-听起来它们不会以不同的方式处理-对我来说,这听起来像是有一个单一的端点来接收&保存消息。
事实上,如果您知道端点只能接收必须保存的消息,那么您可以使用实现IHandleMessages<object>
的单个处理程序。