On Tuesday 15 March 2016 19:34:54 S.A.N wrote: [..] > > > Nginx загружается намного позже ядра, наша задача - пока Nginx не > > > загрузился, не терять, не дропать пакеты, а сделать очередь, которую > > > обработает Nginx когда запустится. > > > > Вы, вероятно, не поняли. Коннекции не теряются (вообще, не терять > > коннекции и не дропать пакеты -- это разные задачи, вторая для tcp > > не имеет большого смысла). > > > > Есть смысл не режектить коннекции пока сервер не запустится, чтобы > > клиенты не получали отлуп. Ваше решение в этом плане плохо тем, что > > есть интервал времени между подъёмом сетевых интерфейсов и стартом > > сервера, когда коннекции режектятся и клиенты получают отказ. > > Использование systemd для сокетной инициализации от этого не спасает. > > Если же сервис закрыть пакетным фильтром (на DROP) до подъёма > > интерфейса, > > где-нибудь в pre-up, и открыть после старта сервера, то никаких > > режектов не будет. > > Возможно вы правы, но мне как разработчику бекенда, приятней и понятней > настраивать директивы systemd.socket. > > Наши бекенд демоны запускает systemd.socket, он же и следит за ними на > протяжении их жизни. > Nginx по сути такой же демон, но стартуют при загрузки OS, я замерял время > когда доступный systemd.socket и когда Nginx, в результате Nginx готов к > принятию конектов на ~700 ms позже, по сравнению с systemd.socket. > Это не критично и OS перегружается редко, но зачем терять эти ~700 ms, > что-то настраивать в iptables можно, но зачем когда есть systemd. > > Nginx, станет только лучше если реализует прием сокета от systemd.socket. >
Это довольно странное желание - чтобы машина, которая по сути ещё не готова к работе, частично делала вид, что она готова принимать трафик. Что вы будете делать если nginx так и не заработает через 700 мс, а балансировщик уже радостно нальет на неё трафик? Почему вы считаете, что эти 700 мс куда-то теряются, хотя тем временем они могли бы быть обслужены живой машиной за меньшее время? А сколько секунд теряется на биос и загрузку ядра? В чем разница? Т.н. HA обеспечивается вовсе не такими методами. Больше похоже на способ тщательно разложить самому себе грабли у входа. -- Валентин Бартенев _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru