javascript - 跨多个应用程序共享 mongo 模型

标签 javascript node.js mongodb mongoose microservices

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

目前我已经将我的应用分成了 3 个独立的部分

  1. 网络 - 前端
  2. API - 数据
  3. 工作人员 - 数据处理

这些单独的 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/

相关文章:

javascript - WebGL deleteBuffer 泄漏内存?

javascript - 将 javascript 放在 html5 的外部文件中

node.js - 从父文件夹导入时,类型错误 : Super expression must either be null or a function, 未定义

javascript - 如何在 angular.js 中处理多个异步任务?

php - PHP Mongo 问题列表 : What does _construct return when replicaSet is true?

javascript - Mongodb数据插入问题

javascript - HTML canvas arc() javascript中的方法仅显示圆的一小部分

javascript - AJAX 刷新、setInterval 计时和本地主机崩溃

javascript - Angular 中传回回调的数据未定义

javascript - 在 Ubuntu 64 位上安装 js-yaml NPM 包依赖项时出现问题