【问题标题】:Share mongo models across multiple apps在多个应用程序之间共享 mongo 模型
【发布时间】:2019-10-12 12:26:29
【问题描述】:

我正在构建一个应用程序,随着它的发展,我会学到更多知识并与它一起成长。

目前我已将我的应用分成 3 个单独的部分

  1. Web - 前端
  2. API - 数据
  3. Worker - 数据处理

这些单独的 nodejs 应用程序中的每一个都有一个功能可以在不同的服务器上执行。

我启动了另一个包含共享代码的小包/应用程序,然后将其包含在依赖项中:

"shared": "file:../shared",

这样我就可以随时从任何应用程序访问我的模型:

let User = require('shared/models/user')

我发现自己在开发模式下运行以下命令以升级到最新型号 ALOT

yarn upgrade shared

我仍在学习最佳实践以及所有这些……这真的是最好的方法吗?我应该做点别的事情来节省更多时间吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: javascript node.js mongodb mongoose microservices


    【解决方案1】:

    在微服务之间共享相同的模型并不是一个很好的架构决策。微服务应该拥有自己的模型,而共享与拥有相反。

    这并不意味着不能在多个微服务中拥有用户,但不能在同一模型中拥有用户。您可以使用集成模式,即Anti-corruption layer。长话短说,规范模型包含所有字段,但远程模型仅包含所需的字段子集。

    【讨论】:

      猜你喜欢
      • 2011-05-07
      • 2013-10-31
      • 2012-06-02
      • 1970-01-01
      • 1970-01-01
      • 2017-02-01
      • 2011-08-24
      • 1970-01-01
      • 2018-01-01
      相关资源
      最近更新 更多