【发布时间】:2020-07-06 01:10:06
【问题描述】:
我正在创建一个包含多个微服务的 Node.js API。
每个微服务负责我的应用程序的一项或多项功能。但是,我的数据被结构化为多个数据库,每个数据库都有多个集合。
现在我需要一种服务来跨多个数据库执行原子操作。如果一切都发生在同一个数据库中,我会使用普通事务。但是,我不知道如何对多个数据库执行此操作,或者这是否可能?
示例:
其中一个微服务负责创建用户。用户必须是 在两个数据库中创建。然而,这应该以原子方式发生, 即如果创建了用户,则必须在两个数据库中都创建它。
更新:MongoDB's official docs 声明如下:
使用分布式事务,事务可以跨平台使用 多个操作、集合、数据库、文档和分片。
我还没有找到任何关于如何使用 mongoose 执行分布式事务的信息。
如果有人能就这个话题给我一些澄清,我会非常高兴。
【问题讨论】:
标签: node.js mongodb mongoose transactions nosql