node.js - 在nodejs中共享微服务之间的代码依赖

标签 node.js microservices

我正在设计一个使用 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

关于node.js - 在nodejs中共享微服务之间的代码依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38435582/

相关文章:

node.js - google-spreadsheet.js (npm) 只读访问不使用 API KEY 的单元格 - 需要 OAuth?

node.js - 如何将参数传递给 nodejs 模块

javascript - 错误: spawn ENOENT for video upload

Azure 逻辑应用 - 微服务之间的 HTTP 通信

rabbitmq - Varnish 中的 HTTP 方法 PURGE 是幂等的吗?

java - 事件驱动的微服务ID生成

javascript - 不是具有异步功能的构造函数

mysql - 在哪里放置代码来显示从 MySQL 到 Handlebars 的数据?

java - 使用非 JVM 语言 (PHP) 的 Spring Cloud Eureka/使用 Eureka REST 端点发现服务

database - 微服务认证/授权架构