Назад | Перейти на главную страницу

Keepalived (LVS) + SPDY

у меня есть Keepalived настроен с LVS для распределения нагрузки между четырьмя веб-серверами Nginx (режим RR, без постоянных подключений). Я планировал включить SPDY однако кажется, что SPDY устанавливает одно TCP-соединение для каждого хоста, поэтому, когда веб-узел удаляется из пула, клиент пытается отправить дальнейшие запросы по исходному соединению, но балансировщик нагрузки не может переместить это существующее соединение на новый сервер, поэтому все веб-узлы запрашивает тайм-аут для этого клиента.

Есть ли способ заставить балансировщик нагрузки закрыть все соединения с отказавшим сервером или, возможно, любое другое решение для этого?

Попробуйте включить постоянство, а затем expire_quiescent_template

123 expire_quiescent_template - BOOLEAN
124     0 - disabled (default)
125     not 0 - enabled
126 
127     When set to a non-zero value, the load balancer will expire
128     persistent templates when the destination server is quiescent.
129     This may be useful, when a user makes a destination server
130     quiescent by setting its weight to 0 and it is desired that
131     subsequent otherwise persistent connections are sent to a
132     different destination server.  By default new persistent
133     connections are allowed to quiescent destination servers.
134 
135     If this feature is enabled, the load balancer will expire the
136     persistence template if it is to be used to schedule a new
137     connection and the destination server is quiescent.

http://www.mjmwired.net/kernel/Documentation/networking/ipvs-sysctl.txt