【问题标题】:Get data from another nodejs app to save it in another database从另一个 nodejs 应用程序获取数据以将其保存在另一个数据库中
【发布时间】:2020-10-25 20:28:06
【问题描述】:

假设一个服务器用 nodejs 构建,并与 mySQL 数据库连接。此应用程序想要从 MongoDB 数据库中获取数据并对其进行编辑。

例如,服务器想从另一个与mongoDb 连接的nodejs 应用程序中获取用户数据,并将voted 字段添加到每个用户,然后将它们保存到mySQL 数据库。

对于这种情况,最好的设计和方法是什么?

【问题讨论】:

  • 要使用 NodeJS 驱动程序连接和读取 MongoDB,您必须编写代码。以下是示例:MongoDB NodeJS Tutorials

标签: mysql node.js mongodb


【解决方案1】:

1- 简单的“愚蠢”解决方案(服务之间存在耦合):

  • 在返回必要数据的应用程序 (A) 上创建 REST 端点,并从 您的应用程序 (B) 直接调用此端点(http 调用)(从您的配置中获取 BaseURL 或路由,如果您使用的是 API 网关),将投票添加到您的域(应用 B 中的业务层) 并保存到 MySql DB。

2- 有点复杂(保证服务之间没有耦合)

  • 是使用像“RabbitMQ”这样的消息代理,并且依赖于“Pub/Sub”模型,其中 您向代理发布消息(当应用程序 A 向 MongoDB 添加新用户时),然后您 从您的应用 B 订阅此消息,以获取消息(此消息将包括 您想要“用户对象”的数据对其进行变异,然后保存到 Mysql )

  • 这个简单的答案,假设两个数据库之间没有数据同步,因为你要在其中一个中改变“用户”,否则,如果你想要同步,你需要在突变完成后触发一个事件,并且服务 A 将订阅此获取消息,更新其 MongoDB

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多