首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有SQL问号的NServiceBus发件箱模式

带有SQL问号的NServiceBus发件箱模式
EN

Stack Overflow用户
提问于 2022-11-03 19:27:09
回答 1查看 45关注 0票数 0

我试图弄清楚发件箱应该如何与NServicebus一起工作,但我不太确定我是否明白。以下是我们目前的情景:

Service1 Service2 Service3 ServiceN

每个服务都有自己的数据库,其中包含用于队列/消息代理.的业务数据和服务总线共享数据库。

--这意味着每个服务对servicebus使用相同的连接字符串,对于业务数据库有不同的连接字符串。

我们面临的问题是,保存到业务数据库和发布在技术上是保存到2个数据库中,因此,如果将其包装到事务中,就会创建分布式事务。

现在,我正在考虑实现发件箱模式来解决这个问题,但是NServiceBus文档并没有给我们一个关于这个问题的想法:

  • 应该将发件箱表存储在哪里?是否应该将其存储在与业务数据相同的数据库中?在这种情况下,用于给定服务的辅助数据将存储在哪里?是否可以将NServicebus配置为将发件箱表创建为业务数据库,而其余表则是在服务总线数据库中创建的?

通过启用发件箱,NServiceBus确实为保存消息servicename_Outbox表创建了新的表,但是应该存储在Servicebus数据库还是业务数据数据库?,如果它存储在servicebus数据库中,那么从技术上来说,将数据保存到其中仍然需要分布式事务?

  • 如何知道哪个表用于发件箱模式和发送消息?这可以显式配置吗?
EN

回答 1

Stack Overflow用户

发布于 2022-11-17 15:32:56

应该将发件箱表存储在哪里?是否应该将其存储在与业务数据相同的数据库中?

,在这种情况下,对于给定的服务,子数据将存储在哪里?

如果您使用的是消息驱动的pubsub而不是本地pubsub,那么是的。

是否可以将NServicebus配置为将发件箱表创建为业务数据库,而其余表则是在服务总线数据库中创建的?

是的,这是意料之中的。

,但是它应该存储到Servicebus数据库还是业务数据数据库?如果它存储在servicebus数据库中,那么,从技术上来说,将数据保存到其中还需要分布式事务吗?

发件箱数据存储在业务数据库中,并且共享相同的存储连接/事务,因此不需要分布式事务。

如何知道哪个表用于发件箱模式和发送消息?

每个端点都有自己的实体。

可以显式配置这一点吗?

请检查用于查看表名van是否配置的持久器的发件箱配置:

https://docs.particular.net/persistence/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74308589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档