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

Балансировка нагрузки Nginx на основе URL-адреса, а не IP-адреса?

У нас есть опасения по поводу балансировки нагрузки на основе IP для нашей службы (например, переключение мобильного клиента с 3G на Wi-Fi). Есть ли способ сделать это на основе части URL-адреса, а не на основе IP-хеша?

Используйте модуль Upstream Consistent Hash:

http://wiki.nginx.org/HttpUpstreamConsistentHash

или модуль хеширования восходящего запроса:

http://wiki.nginx.org/NginxHttpUpstreamRequestHashModule

Возможно, это не совсем сработает для вас, но «балансировка» по cname может вас заинтересовать.

server1    IN      A      192.168.0.101
server2    IN      A      192.168.0.102
www        IN      CNAME  server1
mobile     IN      CNAME  server2

Фактически, любой, кто попадает на «mobile.example.com», в конечном итоге запрашивает данные у server2. Затем настройте соответствующие правила перезаписи пользовательского агента на sever1 / www.