502 и load balancing

Maxim Dounin mdounin at mdounin.ru
Tue Oct 20 21:46:17 MSD 2009


Hello!

On Tue, Oct 20, 2009 at 11:38:53PM +0700, Bokhan Artem wrote:

> >
> >То есть другими словами заботу о том чтобы не было 502 ошибки на бекендах нужно возлагать на сами бекенды?
> 
> Будет 50x ошибка бэкенда, фронтенд попросит ответ у другого бэкенда.
> Если ни один из бэкендов не выдаст положительный ответ, фронтенд
> отдаст клиенту 50x ошибку. Где тут можно запутаться, я не понимаю.

На самом деле одна проблема тут есть.  А именно -
proxy_next_upstream одновременно определяет две вещи:

1. Что считать ошибками бекенда (и соответственно выключать его из 
балансировки).

2. В каких ситуациях пытаться отправить запрос на следующий
бекенд.

При этом если собственно функциональность proxy_next_upstream не
нужна (скажем, бекендов много, а попыток хочется делать не более
2-х, и возможно вообще отправить повторы на другой пул серверов) - 
имеем грабли.  Ибо трактовать полученный от бекенда 50x ответ как 
ошибку (и выключать этот бекенд), но в то же время не переходить к 
следующему бекенду - невозможно.

Maxim Dounin





More information about the nginx-ru mailing list