我正在使用haProxy(Debian)通过4台服务器分发websocket连接。
+-----> webSocket 1
|
+-----> webSocket 2
public websocket ip --+
+-----> webSocket 3
|
+-----> webSocket 4
在不中断公共websocket ip和webSocket服务器的情况下,是否可以指示haProxy停止转发到特定服务器的连接?如果是这样,那么如何恢复?
+-----> webSocket 1
|
+-----> webSocket 2
public websocket ip --+
+--x--> webSocket 3
|
+-----> webSocket 4
或者..因为我将连接限制为每个webSocket 50个,是否可以在需要时让haProxy启动webSocket实例(它是一个NODE JS脚本)?如果不需要,是否会停止服务以释放内存?
答案 0 :(得分:2)
您可以通过使用管理套接字并将启用/禁用服务器命令发送到套接字,使其停止向其中一个后端服务器发送新连接。您也可以使用"设置服务器状态排放"命令到同一个套接字以允许当前的websocket会话完成,然后才完全禁用该后端。
关于第二件事,haproxy不知道该怎么做。您可以创建一个实用程序来读取haproxy中系统的当前状态并执行此任务。