@dimjkee90

Как отследить появление http трафика на сервере?

В общем суть в том, что есть nginx на котором в upstream прописаны 2 хоста, 1 основной и бэкап,
когда http трафик (80порт) переключается с основного сервера на бэкап сервер, нужно сбросить кэш php, сейчас кэш скидывается в ручную, командой php /home/www/xxxx/current/app/cli.php cache clear prod
Нужно как-то сделать, чтобы при появлении трафика на бекап сервере, выполнялась команда php /home/www/xxxx/current/app/cli.php cache clear prod, если кто-то подскажет куда копать, буду очень благодарен
По идее нужен скрипт, который будет проверять появление http трафика и выполнять команду, как проверять появление http трафика?
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
shambler81
@shambler81 Куратор тега Linux
Не нужно его сбрасывать, его нужно синхронизировать.
Мемкеш он с легкостью балансируется, собственно вы балансируете весь сессии и кеш
Конечно можно сделать что-то вроде
cat /var/log/nginx/access.log | grep  "тут признак того что   хиты нужные тебе пошли на него" | grep " тут признак  по дате или через awk   там омжно диапазон дат указывать." && /usr/bin/php /home/www/xxxx/current/app/cli.php cache clear prod

И все это в крон, но лучше синхронизировать сессии и кеш
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Чекайте размер access-лога, например.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Подобные вещи надо делать через некое распределённое хранилище типа Zookeeper которое хранит сведенья о топологии серверов. Если пришло глобальное событие - то взвести флажок в зу-кипере типа "трафик на таком -то хосте" появился. А отвествтеный демон или скрипт будет заглядывать в этот флажок и принимать решения. Такая буферизация спасет вас от "множественных сбросов кеша" которых вам не избежать без буферизации и дедупликации событий. Говорю как разработчик поскольку в распределённых системах - это самая частая ошибка. Неучет фантомных и ненужных событий.
Ответ написан
Комментировать
@Karpion
Если есть два хоста - то трафик может очень часто переключаться. Вплоть до одновременного выполнения разных запросов там и тут. Так что идея сбрасывать кэш - так себе; особенно в силу того, что неясно, на каком из хостов Вы сбрасываете кэш, и зачем это вообще надо делать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы