我正在构建一个应用程序,随着它的发展,我学到了更多并与之一起成长。
目前我已经将我的应用分成了 3 个独立的部分
- 网络 - 前端
- API - 数据
- 工作人员 - 数据处理
这些单独的 nodejs 应用程序中的每一个都具有在不同服务器上执行的功能。
我启动了另一个包含共享代码的小包/应用程序,然后将其包含在依赖项中:
"shared": "file:../shared",
这样我就可以随时从任何应用程序访问我的模型:
let User = require('shared/models/user')
我发现我自己运行以下命令以在开发模式下升级到最新模型很多
yarn upgrade shared
我仍在学习最佳实践和所有这些……这真的是最好的方法吗?我应该做点别的事情来节省更多时间吗?
如有任何帮助,我们将不胜感激!
最佳答案
跨微服务共享同一个模型并不是一个很好的架构决策。微服务应该拥有它的模型,共享与拥有相反。
这并不意味着一个人不能在多个微服务中拥有用户,但不是同一个模型。您可以使用集成模式,即 Anti-corruption layer .长话短说,规范模型包含所有字段,而远程模型仅包含所需的字段子集。
关于javascript - 跨多个应用程序共享 mongo 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56317408/