查看Publish-Subscribe API and Configuration页面,NServiceBus用于跟踪订阅的数据库架构似乎只跟踪订阅者端点和消息类型。
我原本希望我可以更改表格的名称,以便为多个发布商使用相同的数据库,但this thread seems to indicate that you can't。
重点是 - 我完全理解并同意每个事件类型都有一个发布者端点的概念 - 但这不可避免地导致多个发布者都在同一个应用程序范围内运行。也许在不同的组件或流程中运行,但这是一个没有实际意义的点;无论如何,这意味着所有或大多数发布者将共享相同的事务数据库。因此,为每个发布者实际创建单独的SQL 数据库的可能性似乎有点荒谬;我们最终会有数百个单表订阅数据库。
DBSubscriptionStorage是否也跟踪了足够的信息来识别发布者,这样多个发布者都可以指向同一个数据库?或者如果没有,是否有一些配置更改或黑客可以用来完成相同的最终结果?
或者我实际上是否需要为每个发布者提供一个单独的数据库 - 并且通过扩展,每个已发布的消息类型?
答案 0 :(得分:3)
您绝对可以在同一个数据库中使用同一个表来存储多个发布者的订阅。由于每个发布者都对其特定的消息类型负责,因此不存在逻辑重叠。