gpt4 book ai didi

javascript - Nginx 和 Node.js 服务器 - 多个任务

转载 作者:行者123 更新时间:2023-12-03 04:21:11 25 4
gpt4 key购买 nike

更新

我有几个关于Nginx和Nodejs结合的问题。

我已经使用 Nodejs 创建了我的服务器,现在我面临着捕获服务器执行操作(写入、删除等)的问题。当服务器有请求时,我们使用 Redis 来锁定服务器,例如,如果新用户正在执行注册操作,则所有其余请求都会等待,直到该过程完成,或者如果有另一个过程(更长)一)所有其他请求将等待更长时间。

我们考虑创建一个负载均衡器(使用 Nginx)来检查服务器是否被锁定,如果服务器被锁定,它将打开一个新任务,并且不会等到第一个进程完成。

我用过这个tutorial并创建了一个虚拟服务器,然后我一直在努力思考如何实现打开新端口的功能。

我是负载平衡实现方面的新手,我很高兴听到您的想法和帮助。

谢谢。

最佳答案

其要点是,如果多次尝试连接,您的服务器不应崩溃。即使您使用 NGINX 作为负载均衡器并且运行着五个不同的服务器实例...当六个客户端尝试同时访问您的应用程序时会发生什么?

我认为您对负载均衡器的看法略有错误。有不同的负载平衡方法,但最简单的方法是“循环”,其中每个连接都转发到列表中的下一个服务器(其余的只是该方法的更强大和更复杂的版本)。当没有更多的服务器可以转发时,下一个连接将再次转发到第一个服务器(无论是否完成了最后一个连接),并且循环重新开始。因此,负载均衡器不应该管理来自客户端的“唯一连接”...它们应该在服务器之间分配连接。

您的服务器不一定需要接受连接并立即处理所有连接。但至少需要让连接排队不崩溃,然后一一接受并处理。

你可以走你正在讨论的路线。也就是说,您可以通过 Heroku 或其他方式为与您的应用程序建立的每个连接启动服务器的唯一实例。但这效率不高,并且最终会为您在尝试构建一个能够做到这一点的系统时带来更多工作。为什么不直接修复你的服务器呢?

关于javascript - Nginx 和 Node.js 服务器 - 多个任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43940145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com