Re: reuseport в конфигах nginx

Evgeniy Berdnikov bgx на protva.ru
Ср Апр 20 09:00:42 UTC 2016


On Wed, Apr 20, 2016 at 11:37:50AM +0300, navern wrote:
> On 20.04.2016 11:19, Evgeniy Berdnikov wrote:
> >  Так же как и вашем. В чём проблема-то? Если в пересечении портов
> >  для bind(2), так порты нужно сделать разными, вот и всё.
> Nginx во фронтэнде. Какие разные порты?

 Да хоть на Юпитере. Он вообще-то в контейнере. Ядро может входящие
 коннекции перенаправлять на любой порт, и ip-адрес можно менять.
 Без разницы, как отличать новый сервер от старого, по ip или порту,
 но в любом случае их нужно как-то различать.

 Главное что сменить перенаправление syn'ов можно на ходу, не разрывая
 установленных ранее соединений.

> reuseport как раз позволяет при одинаковых портах поднять два
> контейнера с nginx'ом.

 Не нужно поднимать два nginx'а на одинаковых портах. Вы пытаетесь
 известным Вам решением подменить задачу. Задача -- перенаправить
 соединения на новый сервер, а не просто иметь два параллельно
 работающих nginx'а.

> >Поэтому зачем все эти патчи -- непонятно.
> Единственный смысл патча - слегка упростить конфигурацию. По факту,
> если бы была опция в основном конфиге что-то вроде enable_reuseport
> all; то ничего делать было бы не надо.

 С чего бы это? Вы прямо верите в какую-то магию: напиши в конфиге
 заклинание -- и заветное желание исполнится. Но reuseport не делает
 переброса соединений, как бы этого ни хотелось.
-- 
 Eugene Berdnikov



Подробная информация о списке рассылки nginx-ru