我正在设计一个使用3个微服务的平台; 套接字服务器,前端服务器运行expressjs和电子邮件服务器以发送transaccional电子邮件。
项目文件strutture非常简单:
project_root
|______________ socket
|______________ frontend
|______________ email
在每个文件夹中都有一个nodejs项目。为了相互通信,这些微服务使用简单的Redis pub/sub implementation。问题是,在每个 node_modules 文件夹中,将会有一个与Redis相关的NPM包重复。所以有重复的代码,如果我想更新包,我将不得不这样做3次。
我使用的方法不正确吗?
答案 0 :(得分:1)
我开始了一个类似结构的NodeJS项目,它很快变得一团糟。我将node_modules,公共代码和package.json移动到项目根目录并使用单独的启动文件,以便我可以在项目之间共享公共代码。事实证明,部署和维护更加容易。
root
|_ socket
|_ frontend
|_ email
|_ node_modules
|_ package.json
|_ app_socket.js
|_ app_frontend.js
|_ app_email.js