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