Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама

Навіщо маршрут /up і що він перевіряє?

Laravel має вбудований маршрут перевірки стану: /up повертає 200, якщо застосунок завантажився без винятків, і 500 - якщо ні.

// bootstrap/app.php
->withRouting(
    web: __DIR__.'/../routes/web.php',
    health: '/up',
)

Хто його опитує:

  • балансувальник - не слати трафік на екземпляр, що не відповідає;
  • оркестратор (Kubernetes, Docker Swarm) - перезапустити контейнер;
  • моніторинг доступності - сповістити команду.

Чого він не перевіряє: базу, Redis, черги. Застосунок може завантажитися й віддати 200, а база при цьому лежить. Для глибшої перевірки слухають подію DiagnosingHealth, яку маршрут запускає, і кидають виняток, якщо залежність недоступна - тоді відповідь буде 500.

Обережно з глибиною: якщо балансувальник знімає всі екземпляри через те, що впала база, сайт не віддасть навіть сторінку «технічні роботи». Тому часто розділяють «живий» (процес працює) і «готовий» (залежності доступні).

Маршрут варто виключити з журналів доступу й аналітики - його опитують щохвилини.

Докладніше в документації: Маршрут перевірки стану

Перевір себе

20 випадкових питань за спробу, після завершення - розбір кожної помилки

Схожі питання