我有一个正在开发的套件,其中包含一些协同工作的微服务。 我正在使用 Docker 设置环境,效果很好。
我的项目组件如下:
- MongoDB
- 在数据库上做一些处理的 Node.js worker
- 为用户提供服务的 Node.js Rest API
正如您可能猜到的那样,2 个 Node.js 服务器应该使用同一个数据库。 现在我已经在其中一个项目中定义了我的模型,但我想知道处理第二个项目的最佳实践是什么。 我真的很想避免复制粘贴我的代码,因为这意味着当我对架构进行更改时,我必须使它们都保持最新。 有什么好的方法可以在它们之间共享代码吗?
我的项目是这样的:
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
任何输入都会有所帮助。
谢谢。
最佳答案
当然可以。 你要做的就是将你的公共(public)文件放在一个卷中,并与两个 Node 容器共享这个卷。
您应该设置一个数据卷,在其中放置所有要共享的文件。关于此的更多信息 here或通过谷歌搜索其他任何地方。 干杯。
关于node.js - 在微服务之间共享代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38179702/