0

我有 2 个带有 node.js 应用程序的 AWS EC2 实例。开箱即用,它们带有一个运行良好的本地 mongod 实例。鉴于应用程序的重要性,我决定启动 2 个 EC2 前端(节点 js),以使用 AWS ELB 与另一个可用区中的 mongo db 通信。

所有 3 个节点之间都存在完整的 IP 通信/27017 连接。

当mongo服务器只使用1台服务器时,它工作得很好。将两个前端服务器添加到 ELB 目标组时,我得到随机的 504 网关错误。

从组中删除服务器可解决此问题。

关于我应该寻找什么的任何建议?

关于 node.js 服务器如何连接到 mongo,有一个 config.json 文件,它简单地指出了所需的 IP 和 DB 名称。

谢谢!

4

2 回答 2

0

服务器使用 redis(应用服务器)和以下组件:

Node.js - Server-side Javascript-framework
Express.js - Web application framework for Node.js
Nginx - Web server & reverse proxy
MongoDB - NoSQL database
redis - Session Manager & data structure server
Socket.IO - Bi-directional communication between web clients and servers
于 2019-09-09T22:23:34.857 回答
0

AWS 负载均衡器使用“循环”机制来路由用户的请求。您的应用程序是否有办法控制用户会话?如果不是,那么您的第一个请求会到达服务器 1,然后对服务器 2 的第二个请求没有第一个请求的任何信息可能会导致错误。这解释了为什么当您只有 1 台服务器时它可以正常工作

于 2019-09-09T09:52:59.707 回答