【发布时间】:2016-11-05 21:21:28
【问题描述】:
我正在开发一个套件,其中包含几个微服务协同工作。 我正在使用 Docker 设置环境,效果很好。
我的项目组件如下:
- MongoDB
- Node.js 工作人员在 DB 上进行一些处理
- 为用户服务的 Node.js Rest API
正如您可能猜到的那样,假设 2 个 Node.js 服务器使用相同的数据库。 现在我已经在其中一个项目中定义了我的模型,但我想知道在处理第二个项目时最佳实践是什么。 我真的很想避免复制粘贴我的代码,因为这意味着当我对 Schema 进行更改时,我必须让它们保持最新。 有没有什么好的方法可以在他们之间共享代码?
我的项目如下所示:
rest-api // My first Node.js application
models
MyFirstModel.js // This is identical to the one in the worker/models folder
MySecondModel.js
index.js
package.json
Dockerfile
worker // My second Node.js application
models
MyFirstModel.js
MySecondModel.js
index.js
package.json
Dockerfile
docker-compose.yml
任何输入都会有所帮助。
谢谢。
【问题讨论】:
-
为什么有两个独立的应用程序?为什么模型相同?
-
我已经解释过了。 2 个微服务使用同一个数据库
-
我的意思是为什么你有两个微服务共享一个数据模型?为什么不只是一个?感觉可能是建模问题而不是技术问题
标签: node.js docker architecture