Laravel Pennant عبارة عن حزمة علامات ميزة خفيفة الوزن مصممة لتمكين التمرين الإضافي وإدارة ميزات التطبيق بسهولة. وهو يدعم العديد من برامج تشغيل التخزين ، بما في ذلك صفيف في الذاكرة ، وقاعدة بيانات ، وبرامج تشغيل مخصصة مثل redis [2]. Laravel Horizon ، من ناحية أخرى ، هي لوحة معلومات وأداة مراقبة خصيصًا لقوائم Redis الخاصة بـ Laravel ، مما يوفر رؤى في الوقت الفعلي في معالجة قائمة الانتظار وحالة الوظيفة [1] [4].
فيما يتعلق باستخدام راية Laravel مع Laravel Horizon لعلم الميزات في الوقت الفعلي ، لا يوجد تكامل مباشر أو اتصال مدمج بين الحزمتين. يركز Laravel Horizon على مراقبة قائمة الانتظار وإدارته ، بينما تتميز Pennant بمقابض الملامح ومنطق التقييم. ومع ذلك ، يمكنك هندسة حل يعزز على حد سواء:
- يتيح برنامج تشغيل المخصص المخصص لاستخدام Redis: Pennant إنشاء برامج تشغيل علامة الميزات المخصصة ، بما في ذلك تلك التي يمكنها استخدام Redis كمتجر الخلفي. يمكنك تنفيذ برنامج تشغيل علامة ميزة قائم على Redis لـ Pennant ، والذي يمكنه تخزين وتحديث أعلام الميزات في Redis. يمكن أن يسهل هذا النهج التحديثات في الوقت الفعلي وفحوصات العلم المنخفضة للكلية [2].
- قائمة انتظار وظائف ومراقبة الأفق: إذا كانت تحديثات التطبيق الخاصة بك تتميز بأعلام غير متزامنة (على سبيل المثال ، عبر الوظائف في قائمة الانتظار التي تعدل الأعلام في Redis) ، فيمكن لارافيل Horizon مراقبة تلك الوظائف في الوقت الفعلي. يتيح لك هذا الإعداد تتبع العمليات التي تغير أعلام الميزات ولكنها لا توفر واجهة إدارة علامة ميزة مباشرة.
- الأحداث والمقاييس: ترسل الراية الأحداث عندما يتم فحص الميزات أو حلها ، والتي يمكنك الاستماع إليها وربما تدفع المقاييس أو الإخطارات من خلال نظام الأحداث في Laravel. على الرغم من أن Horizon لا يعرض مقاييس علامة الميزات أصلاً ، إلا أنه يمكنك إنشاء لوحات معلومات مخصصة أو أدوات مراقبة تجمع هذه الأحداث إلى جانب مراقبة قائمة الانتظار في Horizon [2].
- لا توجد لوحة معلومات لأعلام الميزات في Horizon: اعتبارًا من الآن ، لا توجد لوحة معلومات رسمية أو مصممة من المجتمع لإدارة أو تصور أعلام ميزة Pennant. تشير المناقشات في المجتمع إلى الاهتمام بهذه الأداة ، لكنها غير موجودة بعد [3].
باختصار ، يمكن استخدام راية Laravel إلى جانب Laravel Horizon في تطبيق Laravel ، لكنها تخدم أغراض مختلفة. تدير Pennant أعلامًا ، من المحتمل أن تكون مع خلفية REDIS للأداء في الوقت الفعلي ، في حين أن Horizon Swittors Redis Queues and Jobs. يمكن تحقيق الميزة في الوقت الفعلي مع الراية باستخدام Redis كنظام أحداث Laravel والاستفادة من Laravel ، لكن Horizon نفسه لا يوفر إدارة العلم أو إمكانيات التصور.
وبالتالي ، على الرغم من أنه يمكنك استخدام كلاهما في نفس التطبيق وحتى جعلهم يتفاعلون بشكل غير مباشر من خلال إعادة التصوير والقوائم ، إلا أنه لا يتم دمج الأفق من Laravel و Laravel خارج الصندوق لعلامة الميزات في الوقت الفعلي [1] [2] [3] [4].
الاستشهادات:
[1] https://laravel.com/docs/11.x/horizon
[2] https://laravel.com/docs/12.x/pennant
[3] https://www.reddit.com/r/laravel/comments
[4] https://www.youtube.com/watch؟v=r3c_qbvahxa
[5] https://laravel-news.com/feature-flags-with-laravel-pennant
[6]
[7] https://wpwebinfotech.com/blog/laravel-pennant-guide/
[8] https://dev.to/saurabh-dhariwal/how-to-danage-feature-flags-with-laravel-pennant-in-2024-1phb