如何在 NserviceBus/Persistence SQL 实例中配置不同的 table 名称:

How to configure different table names in NserviceBus/Persistence SQL instance:

我们计划在多个 NSB 主机之间共享同一个持久性数据库 (NserviceBus/Persistence)。

在这种情况下,我们需要为 TimeOutEntity、MessageStore、OutboxRecord 使用不同的 table 名称 根据主机区分。

有没有一种配置方法可以指定主机在 NSB 持久性数据库中使用的 table 名称。

我建议不要使用不同的 table 名称来存储每个端点,而是使用相同的名称,但使用不同的模式,与 endpoint/business 匹配。使用开箱即用的 table 名称意味着更轻松的开发运营体验,因为您可以准确地指向 tables 作为端点。

要更改 SQL 持久性的架构,您可以执行以下操作:

var persistence = endpointConfiguration.UsePersistence<SqlPersistence>();
persistence.Schema("myschema");

对于 SQL 运输,您可以这样做:

var transport = endpointConfiguration.UseTransport<SqlServerTransport>();
transport.DefaultSchema("myschema");

//For error/audit queues
transport.UseSchemaForQueue("error", "myschema");
transport.UseSchemaForQueue("audit", "myschema");

有关部署选项(多目录与架构)的信息,请查看文档页面 here