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