Aleksey
где консул тепмлейт это супервизор для nginx
Dmitrii
какэта
Dmitrii
Т.е. не системд юнит?
Aleksey
consul-template exec mode
Dmitrii
Т.е. каждый докер контейнер запускает консул теплейт который уже запускает нужный сервис. Верно?
Aleksey
нее. у меня так тока собран Nginx
Aleksey
ибо высокодинамичный
Aleksey
на остальный тупо маунт с хоста.
Aleksey
в номаде его естестевенное шаблонизирование.
Aleksey
шаблонизация конфигов на сворме только через стартап скрипт с чтением переменных окружения.
Aleksey
ну и дискавери серивсов через днс
Denis
Dmitrii
А если мне надо запускать воркеры cli'ные то какой бестпрактис по докеру в этом случае?
Dmitrii
Проблема в том что кол-во и типы воркеров зачастую зависят от приложения и желательно бы не хардкодить это как то на докер конкретно
Aleksey
ну у меня в консуле
Aleksey
при старте говорю параметр пул такой то. тулза сама полезет в консул и всё о себе расскажет и узнает
Dmitrii
Что за тулза
Dmitrii
А, в смысле воркер
Dmitrii
А у тебя через консул регулируется сколько инстансов чего должно быть запущено?
Dmitrii
Но и получается по одному докер контейнеру на один тип воркера будет?
Aleksey
нет. колво я пока не придумал как хранитьв консуле. только условным шаблоном для какой либо запускалки.
Dmitrii
😕
Dmitrii
http://cri-o.io - шах и мат фанбоям докера
Andrey
Ребят, про nginx сюда можно?
Yuri
А что с ним?
Andrey
Ребят, подскажите. Верно ли я понимаю принцип работы nginx.
Nginx создает пул серверных сокетов, которые слушают определенный порт (:80). Когда на порт приходит запрос, он передается на один из сокетов, который меняет своё состояние. Сервер же, в это время делает опрос сокетов с помощью (epoll и т.п.), находит те, которые изменили своё состояние и передают задачу на один из воркеров.
Воркер либо обрабатывает запрос сам (на выдачу статики) или передает его на дополнительный веб-сервер, который генерирует динамический контент. Далее, этот контент возвращается в nginx, сжимается и хранится в буфере до моменты выдачи назад (когда сокет будет готов отправить данные обратно пользователю)
Всё это время nginx опрашивает остальные сокеты на предмет обновления состояния. И повторяет вышеизложенные процедуры.
Верна ли данная трактовка?
Nklya
Как я помню, похоже
Roman
Ребят, подскажите. Верно ли я понимаю принцип работы nginx.
Nginx создает пул серверных сокетов, которые слушают определенный порт (:80). Когда на порт приходит запрос, он передается на один из сокетов, который меняет своё состояние. Сервер же, в это время делает опрос сокетов с помощью (epoll и т.п.), находит те, которые изменили своё состояние и передают задачу на один из воркеров.
Воркер либо обрабатывает запрос сам (на выдачу статики) или передает его на дополнительный веб-сервер, который генерирует динамический контент. Далее, этот контент возвращается в nginx, сжимается и хранится в буфере до моменты выдачи назад (когда сокет будет готов отправить данные обратно пользователю)
Всё это время nginx опрашивает остальные сокеты на предмет обновления состояния. И повторяет вышеизложенные процедуры.
Верна ли данная трактовка?
я так понимаю, на эту тему можно почитать вот здесь http://www.aosabook.org/en/nginx.html
Yuri
Ребят, подскажите. Верно ли я понимаю принцип работы nginx.
Nginx создает пул серверных сокетов, которые слушают определенный порт (:80). Когда на порт приходит запрос, он передается на один из сокетов, который меняет своё состояние. Сервер же, в это время делает опрос сокетов с помощью (epoll и т.п.), находит те, которые изменили своё состояние и передают задачу на один из воркеров.
Воркер либо обрабатывает запрос сам (на выдачу статики) или передает его на дополнительный веб-сервер, который генерирует динамический контент. Далее, этот контент возвращается в nginx, сжимается и хранится в буфере до моменты выдачи назад (когда сокет будет готов отправить данные обратно пользователю)
Всё это время nginx опрашивает остальные сокеты на предмет обновления состояния. И повторяет вышеизложенные процедуры.
Верна ли данная трактовка?
Похоже. Только насчёт сжатия - если бэкенд отдал пожатое - оно так и кладётся в кэш пожатым. Если нет - кладётся непожатым и жмётся при отдаче клиенту, если клиент обозначил свою готовность принять сжатые данные (Accept-Encoding:)
Yuri
Ну и хранит или не хранит в кеше - зависит от настроек. А также, буферизировать ли ответ от бэкенда или нет - также настраивается. В некоторых ситуациях отключение буфера ускоряет отдачу, но даёт бОльшую нагрузку на бэкенд.
🏳️ Phil
Ребят, подскажите. Верно ли я понимаю принцип работы nginx.
Nginx создает пул серверных сокетов, которые слушают определенный порт (:80). Когда на порт приходит запрос, он передается на один из сокетов, который меняет своё состояние. Сервер же, в это время делает опрос сокетов с помощью (epoll и т.п.), находит те, которые изменили своё состояние и передают задачу на один из воркеров.
Воркер либо обрабатывает запрос сам (на выдачу статики) или передает его на дополнительный веб-сервер, который генерирует динамический контент. Далее, этот контент возвращается в nginx, сжимается и хранится в буфере до моменты выдачи назад (когда сокет будет готов отправить данные обратно пользователю)
Всё это время nginx опрашивает остальные сокеты на предмет обновления состояния. И повторяет вышеизложенные процедуры.
Верна ли данная трактовка?
Только он не создает пул. Он просто слушает сокет
Andrey
Andrey
Aleksey
Roman
https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99
Seva
https://t.me/UkropsDigest/29 — написал о эластике 6.0.0, может быть интересно 🙂
Igor
https://www.infoworld.com/article/3228171/devops/why-ansible-is-the-future-of-red-hatand-automated-devops.html
Andrey
Roman
Пожалуйста)
Aleksey
Господа, несколько раз я уже сталкивался в разных местах с поведением вебстраницы когда включается какойто рефреш и это приводит к каким нить проблемам на бекенде. Как правило после этого каким то образом прафится фронтенд что бы
* делал меньше запросов
* делал запросы по другому
* делал запросы реже
ну и т.д.
вопрос как бы форсировать рефрешь страницы, что бы приехал этот новый js ? ведь клиент запрашивает данные с бекенда а не саму страницу.
в голову лезет вариант когда в самом js вставляется if который матчит какую то часть реплая и форсит рефрешь.
есть стандартные способы добится такого поведения ?
Roman
я немного не понял что тебе надо) обновить страницу? обновить джс код?
Aleksey
обновить js код. подозреваю что сделать это можно только обновив страницу
Magistr
Aleksey
сделать новую страницу где будет грузится новый код это то понятно.
Aleksey
вопрос что заставит вообще начать процедуру обновления
Magistr
так можно и неделать новую, у тебя старая просто начинает отдавать новый код
Magistr
ну еще со всяким no-cache
Aleksey
эм.
1. у пользователя открыта вкладка
2. вкладка делает переодические запросы в бекенд на предмет новых данных.
3. владка затрахала бекенд.
4. js код который делает рефреши переписали что бы он работал как то по другому
5. вкладка должна получить сигнал о том что надо обновить js код который делает рефрешь
6. как ?
Magistr
ты же понимаешь что если 1 юзер убивает бекэнд то у вас печаль в бекэнде ?
рестарт веб сервера или временный дроп коннектов юзера заставит его рефрешнуть страницу
Aleksey
1. конечно понимаю. это отдельный вопрос. и я не сказал чт пользователь один :)
2. это заставит пользователя рефрешнуть страницу а не браузер. что не приемлимо
Magistr
в общем случае у тебя нет контроля за тем что делает юзерскрипт со стороны юзера
Aleksey
ога.
Aleksey
пожтому в этот скрипт очевидно придется воткнуть "протокол управления" или "ручник"
Aleksey
вопрос что должно триггерить такой ручник
Aleksey
выглядит будто бы дешевле всего http code
Magistr
ну печеньку на сутки положи
Aleksey
в If будет типа http.code=4ХХ then window.reload
Dmitrii
М ывсегда версию приложения передавали
Dmitrii
Чтоб зарелоадить. А версия это unix timestamp
Dmitrii
Один зашит в странице какконтрольная метка чтобы не зависеть от часов клиента
manefesto
Привет
Есть сервер supermicro и контроллер adaptec 8885q, недавно заменил диск в массиве, начался ребилд
В итоге среди ночи сервер завис, подобная ситуация повторяется второй раз на данном контроллере, но на разных серверах
manefesto
Это нормальная ситуация при ребилде ?
Dmitri
Aleksey
Dmitrii
Не совсем понятен юмор. Я вебверсию телеграмма неделями не ребутаю
Aleksey
вот уж не подумал бы о тебе такого
Dmitrii
То, что многие вебверсию называют говном я в курсе да, но ответь мне сканала на вопрос — зачем мне инсталлировать что-то в систему, что и так сносно работает в браузере? Я же могу читать твои сообщения, а ты видеть мои. Вроде все базовые функции работают.
Dmitrii
Не стикерами же переписываться.
Denis
да и стикеры тут рабтают
Denis
я тоже вебверсией пользуюсь, ибо все месенджеры во франце
Pavel
телеграм не надо жи инсталлить
Pavel
дело привычки/удобства
Pavel
* под линухс не надо
Aleksey
дак у вас наверное вторая вкладка есть со слакой
Aleksey
а у меня нету.
Igor
ещё со скайпом и хипчатом, почему бы и нет
Pavel
и третья с гиттером
Aleksey
ггг