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