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

Устойчивость Netscaler терпит неудачу, отбрасывают пакеты

У меня есть vserver, настроенный с этим

-persistenceType CUSTOMSERVERID -lbMethod ROUNDROBIN -rule "URLQUERY CONTAINS sid="

Похоже, что если параметр «sid» настроен на переход к «серверу 1» и в момент поступления запроса «сервер 1» не работает, он возвращается к циклическому перебору и отправляет запрос в другое место (сервер 2 для пример)

Как я могу настроить NS таким образом, чтобы, если запрос привязан к серверу, и этот сервер не работает, запрос просто отбрасывается или отклоняется?

В этом весь смысл использования балансировщика нагрузки, если один бэкэнд не работает, он БУДЕТ переходить к другому. Если вы этого не хотите, создайте 2 неадресных LB vserver за переключением контента и используйте политику переключения контента, чтобы определить, что куда идет. Я делаю в основном все из графического интерфейса, но конечный результат должен быть примерно таким:

add lb vserver LB_for_backend_1 SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout 240 -Listenpolicy None -cltTimeout 180
add lb vserver LB_for_backend_2 SSL 0.0.0.0 0 -persistenceType COOKIEINSERT -timeout 240 -Listenpolicy None -cltTimeout 180

bind lb vserver LB_for_backend_1 service_For_Backend_1
bind lb vserver LB_for_backend_2 ServiceGroup_for_backend_2

add cs vserver CS_CUSTOMSERVERID SSL 192.168.1.100 443 -cltTimeout 180 -Listenpolicy None
add cs policy CSPol_for_backend_1 -rule "HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS(\"sid=")
add cs policy CSPol_for_backend_2 -rule "HTTP.REQ.HOSTNAME.SET_TEXT_MODE(IGNORECASE).CONTAINS(\"hostname")" 

bind cs vserver CS_CUSTOMSERVERID -policyName CSPol_for_backend_1 -targetLBVserver LB_for_backend_1 -priority 110
bind cs vserver CS_CUSTOMSERVERID -policyName CSPol_for_backend_2 -targetLBVserver LB_for_backend_2 -priority 120