لقد أتيحت لي الفرصة مؤخرًا لمناقشة اعتماد Inspector من قبل فريق من المطورين المقيمين في البرازيل. في ذلك الوقت كانوا يستخدمون NewRelic لمراقبة تطبيقاتهم، لكنهم وجدوا أنه غير متوافق مع Laravel Octane.
منذ إصدار Laravel Octane، قمت بدراسة ديناميكياته الداخلية بدقة للتأكد من استمرار حزمة Inspector Laravel في العمل كالمعتاد. نظرًا لخصائصه، كنت أشك دائمًا في أن الأوكتان يمكن أن يسبب الكثير من المتاعب لمنصات المراقبة "الموجهة نحو البنية التحتية".
دعني أقدم لك بعض التفاصيل الفنية.
Laravel Octane هو خادم تطبيقات عالي الأداء لـ Laravel، مصمم لتعزيز أداء تطبيقات Laravel بشكل كبير. تم تقديمه في Laravel 8.x ويوفر طريقة لخدمة تطبيقات Laravel باستخدام خوادم التطبيقات عالية الأداء مثل Swoole وRoadRunner.
كما تقول الوثائق الرسمية:
يقوم Octane بتشغيل تطبيقك مرة واحدة، ويحتفظ به في الذاكرة، ثم يقوم بتغذية الطلبات بسرعات تفوق سرعة الصوت.
يعمل تطبيق Laravel الخاص بك ضمن عملية طويلة الأمد والتي يمكن أن تسبب مشاكل لوكلاء المراقبة المثبتين على جهازك لمعرفة ما يحدث بداخله.
هذا مثال مثالي لفهم سبب إنشاء Inspector "للمطورين".
لربط تطبيقك بـ Inspector، تحتاج فقط إلى حزمة Laravel. لا تحتاج إلى أي تفاعل مع البنية التحتية الأساسية. لا يهم كيفية تشغيل التطبيق الخاص بك، إن Inspector متكامل مع إطار العمل الخاص بك، وليس مع الخادم.
ما مدى سهولة ذلك؟
بعد تثبيت الحزمة يجب عليك إرفاق برنامج Octane الوسيط المتخصص بمسارات التطبيق:
use \Inspector\Laravel\Middleware\InspectorOctaneMiddleware; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( // routes ) ->withMiddleware(function (Middleware $middleware) { // Append the middleware $middleware->appendToGroup('web', InspectorOctaneMiddleware::class) ->appendToGroup('api', InspectorOctaneMiddleware::class); }) ->withExceptions(function (Exceptions $exceptions) { // })->create();
/** * The application's route middleware groups. * * @var array */ protected $middlewareGroups = [ 'web' => [ ..., //\Inspector\Laravel\Middleware\WebRequestMonitoring::class, \Inspector\Laravel\Middleware\InspectorOctaneMiddleware::class, ], 'api' => [ ..., //\Inspector\Laravel\Middleware\WebRequestMonitoring::class, \Inspector\Laravel\Middleware\InspectorOctaneMiddleware::class, ], ]
هذا كل شيء.
ستستمر مراقبة طلبك كالمعتاد.
لقد بحث فريق المطورين البرازيليين بشكل أعمق في الدوافع التي دفعتهم للبحث عن بدائل صالحة لـ NewRelic.
لقد أرادوا مراقبة التطبيقات الداخلية الأخرى أيضًا. التطبيقات الأقل أهمية ولكن الشركة ستستفيد من بيانات المراقبة في الوقت الفعلي.
كانت المشكلة هي تعقيد جعل NewRelic يعمل على تطبيقات أخرى، والأكثر إشكالية هو الزيادة الكبيرة في التكاليف.
تكاليف مراقبة المضيفين الآخرين، وتكاليف مشاركة بيئة المراقبة مع مستخدمين آخرين، وتعقيد تكوين النظام الأساسي واستخدامه.
بالنسبة لي كانت مناقشة كاشفة. لم أسمع قط كل هذه التفاصيل حول حالات الاستخدام المتنوعة التي يوفر فيها Inspector سياسة تصميم وتسعير أكثر ملاءمة بكثير من المنصات التي تستهدف الشركات الكبيرة.
لذا، شكرًا لكم يا رفاق، ويسعدني التعاون مع مطورين منفتحين مثلكم. يستمر مجتمع المفتش في النمو.
Inspector عبارة عن أداة لمراقبة تنفيذ التعليمات البرمجية مصممة خصيصًا لمطوري البرامج. لا تحتاج إلى تثبيت أي شيء على مستوى الخادم، فقط قم بتثبيت حزمة الملحن وستكون جاهزًا للبدء.
Inspector سهل للغاية وصديق PHP. يمكنك تجربة حزمة Laravel أو Symfony الخاصة بنا.
إذا كنت تبحث عن مراقبة HTTP، ورؤى استعلام قاعدة البيانات، والقدرة على إعادة توجيه التنبيهات والإشعارات إلى بيئة المراسلة المفضلة لديك، فجرّب Inspector مجانًا. سجل حسابك.
أو تعرف على المزيد على الموقع: https://inspector.dev
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3