Балансировка обращений к сервисам
Digan
nginx-forum at nginx.us
Fri Nov 29 16:49:53 UTC 2013
Есть MVC приложение, в котором указан ServiceReference на сервисы.
В коде на С# есть обращения к этим сервисам. Сервисы установлены на двух
серверах. Требуется балансировать нагрузку на сервисы по этим серверам.
Для балансировки использую nginx с модулем nginx-sticky-module. Он, как
известно, привязывает запрос по куки route. Но в этом случае я так понимаю
не работает эта привязка, наверное нужные куки не создаются. До того как
что-то отобразиться в браузере происходит 3 запроса к сервису.
Судя по логам, сначала к одному серверу, потом в к другому. Хотя при
привязке по куки route они должны уходить на один сервер. Вопрос. Почему
привязка по куки не работают?
Мой конфиг:
#user nobody;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
worker_processes 1;
worker_rlimit_nofile 20240;
events {
worker_connections 20240;
}
http {
log_format upstream 'Request: "$request" [$time_local] BI_SERVER_IP:
$upstream_addr STATUS: $status' $upstream_cache_status - $upstream_status -
$upstream_response_time - $upstream_http_host - $upstream_http_content_type
- $upstream_http_content_length - $upstream_http_location;
#sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
#gzip on;
upstream backend {
sticky;
server 10.0.7.99;
server 10.0.6.140;
}
server {
listen 555;
server_name localhost;
access_log logs/nginx_upstream_access.log upstream;
location /MyService{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:555;
proxy_connect_timeout 10m;
proxy_send_timeout 10m;
proxy_read_timeout 8m;
proxy_next_upstream off;
proxy_pass http://backend/MyService;
}
}
}
#$upstream_http_host
Nginx и веб-приложение на одной и той же машине. ОС Windows.
Posted at Nginx Forum: http://forum.nginx.org/read.php?21,245084,245084#msg-245084
Подробная информация о списке рассылки nginx-ru