ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Синхронизация nginx соединений


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Синхронизация nginx соединений
  • From: Anton Yuzhaninov <citrin@xxxxxxxxx>
  • Date: Thu, 11 Oct 2012 13:43:14 +0400
  • In-reply-to: <CAPKsgQzrhreC0FkBk=Sa84yVaGGojQn_uyqi2+bYX9ZzXDcXQA@mail.gmail.com>
  • References: <CAPKsgQzrhreC0FkBk=Sa84yVaGGojQn_uyqi2+bYX9ZzXDcXQA@mail.gmail.com>

On 10.10.2012 14:43, Viacheslav Biriukov wrote:

Есть кластер active/passive из двух nginx балансеров. Хочется, что бы при
переезде VIP с активной на пассивную (к примеру для апдейта ядра, ребута и т.д.)
не терялись соединения. Большие файлы продолжали отдаваться клиентам.

Плавной миграции локального tcp соединения с одного хоста на другой AFAIK пока нигде не реализовали. Теоретически это возможно (нужна поддержка в ядре OS), но достаточно сложно в реализации.

Как уже писали выше можно заранее убирать IP из DNS, но это долго - запросы все равно будут идти даже после того как истечет DNS TTL, да и сам TTL маленьким делать плохо.

Лучше перед серверами с nginx поставить еще пару балансировщиков. Это могут быть либо два сервера с Linux/FreeBSD либо аппаратные решения, например Cisco SLB. Тгда перед выклюение одного из сервера с nginx надо на балансировщике один из серверов пометить как неактивный, чтобы новые запросы на него не поступали, но старые продолжали работать.

После этого нужно дождаться завершения текущих запросов, и сервер с nginx можно перезагружать.

--
 Anton Yuzhaninov

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.