ПРОЕКТЫ 


  АРХИВ 


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: Илья Шипицин <chipitsine@xxxxxxxxx>
  • Date: Thu, 11 Oct 2012 17:55:43 +0600
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=jTpoMSWO7dtRLQnamJlmQb/8SoKT/Wwwt7L5P4YZU/E=; b=GdviA0QzwHtdqO9kZ1hb7gUZIixeC0AGfWDeYCxpR7p6fIO8cSQRLMIEHXCZg8rWqI c/zVKLVMW3TmbHBW3snLT/ctW26ZeUqougeVYL8rOZMgl9eViOoZBgpNVcmgUxrZqBai gB7LmOEEL8lO81wsVcBhHAXskTOZBjGpfTaTPmYEnGUU1Q41GXfnpM55l7QcZHYddTWm StGVhwbHym0UVtIe1ROqhnAZ1+jTMd20V4ZCZSGD95+AMFkxn+oCD1kNmX2olGW+eNQz PgSNVU68v9Tn9CjFtwh2bVc659IaoSaHtbMYSFpKCL6eZiLPWo5NZ+B3WBu2fJwJgeU5 aopQ==
  • In-reply-to: <CAPKsgQzw=5dwC4V-ZLNGq50bXbV9Fyh3W6XRwGjhyQtjpbQgTQ@mail.gmail.com>
  • References: <CAPKsgQzrhreC0FkBk=Sa84yVaGGojQn_uyqi2+bYX9ZzXDcXQA@mail.gmail.com> <CAFHpkQEJdtC7FGbtnnOkH8cJJNmSt5gqyZ6CvJyG9CcZ3SPQ9g@mail.gmail.com> <CAPKsgQzw=5dwC4V-ZLNGq50bXbV9Fyh3W6XRwGjhyQtjpbQgTQ@mail.gmail.com>

ну смотрите. у вас есть 2 nginx-а, правильно ?
и вы хотите перекидывать tcp-конекции туда-сюда ?

рассмотрим ситуацию.
пришел пользователь. допустим, 1-й сервер отвечает (MASTER), 2-й на подхвате (BACKUP).
запрос упал в апстрим. сервер сходил на первые два бекенда, понял, что там глухо, третий бекенд ему ответил, полетели байтики "бекенд --> nginx --> пользователь". с третьего бекенда.

тут происходит ая-я-я-й и 1-й nginx теряется.

с точки зрения здравого смысла, у 2-го nginx-а все это время должна строиться идентичная картинка

а) он должен загрейлистить 2 бекенда
б) он должен понимать, что мы читаем ответ с третьего бекенда
в) все это дело он должен подхватить на лету

это капец.


есть темы с фаирволами, например PF + pfsync или аналогичные модули синхронизации на iptables. Они синхронизируют состояния _транзитных_ tcp-сессий. Т.е. тех, которые начинаются не на нашем сервере и заканчиваются где-то там далеко. В этом случае можно сделать CARP + pf + pfsync и у вас фаирволы будут совершенно прозрачно переключаться туда-сюда. Правда, для 50 мегабитного канала надо будет заложить еще такую же пропускную способность для синхронизации. Но это именно транзитные tcp-конекции.

вы же ведете речь о tcp-конекциях, которые нетранзитные, они терминируются на ваших серверах и, собственно, по факту терминации происходят всякие разные штуки, которые надо как-то распространять на второй сервер.

11 октября 2012 г., 14:52 пользователь Viacheslav Biriukov <v.v.biriukov@xxxxxxxxx> написал:
Ну скажем, 50 Мбит. Как это влияет? Если я  не хочу потерять ни одного коннекта.
Я понимаю, что это задача не nginx'а. Хотел узнать как можно обновлять ядра и производить перезагрузку ноды с nginx'ом и не боятся потерять соединения.



11 октября 2012 г., 11:26 пользователь Илья Шипицин <chipitsine@xxxxxxxxx> написал:

а какая у вас нагрузка ? в запросах/секунду и в байтах/секунду ?

10 октября 2012 г., 16:43 пользователь Viacheslav Biriukov <v.v.biriukov@xxxxxxxxx> написал:
Привет.

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

Подскажите пожалуйста как это правильно реализовать.


--
Viacheslav Biriukov
BR



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


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



--
Viacheslav Biriukov
BR


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

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


 




Copyright © Lexa Software, 1996-2009.