node.js - 在微服务之间共享代码

标签 node.js docker architecture

我有一个正在开发的套件,其中包含一些协同工作的微服务。 我正在使用 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/

相关文章:

node.js - Mocha 在测试后没有退出

node.js - 有没有办法在 Geddy 模型中定义虚拟场?

docker - Docker上ubuntu上的Git安装错误

mysql - 最高效的多级评论系统

php - 成就/徽章系统

node.js - 使用 node.js 执行命令

javascript - Meteor 中子对象中的 Sum 字段

ruby - 运行 Docker 时尚未 check out git 源

docker - 刚刚在Windows 10 Pro上安装了Docker我的版本有问题

architecture - 运行时 AOP 与编译时 AOP