У нас есть опасения по поводу балансировки нагрузки на основе IP для нашей службы (например, переключение мобильного клиента с 3G на Wi-Fi). Есть ли способ сделать это на основе части URL-адреса, а не на основе IP-хеша?
Используйте модуль Upstream Consistent Hash:
http://wiki.nginx.org/HttpUpstreamConsistentHash
или модуль хеширования восходящего запроса:
Возможно, это не совсем сработает для вас, но «балансировка» по 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.