haProxy:停止/恢复WebSocket转发

时间:2014-08-10 11:29:54

标签: haproxy

我正在使用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脚本)?如果不需要,是否会停止服务以释放内存?

1 个答案:

答案 0 :(得分:2)

您可以通过使用管理套接字并将启用/禁用服务器命令发送到套接字,使其停止向其中一个后端服务器发送新连接。您也可以使用"设置服务器状态排放"命令到同一个套接字以允许当前的websocket会话完成,然后才完全禁用该后端。

关于第二件事,haproxy不知道该怎么做。您可以创建一个实用程序来读取haproxy中系统的当前状态并执行此任务。