使用 nginx 和 nodejs 进行基于会话的负载平衡?

使用 nginx 和 nodejs 进行基于会话的负载平衡?

据我了解,nginx 的负载平衡通常基于请求,即每个请求都会转发到不同的地方,无论是转发到远程计算机还是本地服务的实例。但是,我需要将其配置为基于会话:nginx 应该为其正在通信的每个客户端生成一个新的(本地)nodejs 进程,即每个会话一个。对于单个会话,每个请求都应转发到该进程。当会话关闭或超时时,应终止该进程。

我之所以要这样做,是因为 nodejs 必须联系数据库,如果每次请求都要连接和断开连接,那么效率可能太低了。相反,它应该每个会话连接一次数据库。当会话关闭时,nodejs 应该正常终止,这样它才有机会正确关闭与数据库的连接。

我该怎么做?如果不可能,如何避免每次请求时都必须连接到数据库?

相关内容