راهاندازی صفحه status
صفحه status/ در لاراول یک مسیر اختصاصی برای بررسی سلامت اپلیکیشن است که معمولاً در Load Balancer , Kubernetes و سرویسهای مانیتورینگ استفاده میشود. این صفحه میتواند اتصال به دیتابیس، کش، سرویسهای خارجی و سلامت کلی سرور را بررسی کرده و در قالب یک پاسخ JSON استاندارد وضعیت سیستم را گزارش دهد.
داشتن این صفحه باعث بهبود پایداری اپلیکیشن، تشخیص سریع مشکلات و جلوگیری از Downtime میشود. همچنین، در زیرساختهای ابری و مقیاسپذیر، وجود یک Health Check دقیق، برای اتصال صحیح بین سرویسها و عملکرد پایدار سرور ضروری است.
برای ایجاد صفحه status/ در لاراول، کافیست در فایل routes/web.php یک مسیر جدید برای این صفحه تعریف کنید:
مسیر فوق، به سادگی بررسی میکند که اپلیکیشن در حال اجرا است و یک پاسخ OK ارسال میکند. در نسخه پیشرفتهتر، میتوان بررسی کرد که اتصال به دیتابیس، کش و APIهای خارجی برقرار است یا خیر:
قطعه کد فوق، ابتدا اتصال به دیتابیس، کش و یک سرویس خارجی را بررسی میکند و در صورت موفقیت، یک پاسخ OK ارسال میکند. در غیر این صورت، یک پاسخ FAIL با خطای مربوطه ارسال میشود. همچنین، میتوانید یک کنترلر جداگانه برای مدیریت وضعیت سلامت برنامه ایجاد کنید. در ابتدا، دستور زیر را اجرا کنید تا کنترلر ساخته شود:
در ادامه، فایل app/Http/Controllers/HealthCheckController.php/ را به صورت زیر تغییر دهید:
در نهایت، مسیر مربوط به کنترلر را در فایل routes/web.php تعریف کنید:
برای اضافهکردن Health Check در Kubernetes نیز، کافیست تا در فایل deployment.yaml لاراول، قطعه کد زیر را، اضافه کنید: