Laravel Pennant je ľahký balík vlajok funkcií navrhnutý tak, aby umožnil ľahké prírastkové zavedenie a správu aplikačných funkcií. Podporuje viac ovládačov úložiska vrátane poľa v pamäti, databázy a vlastných ovládačov, ako je Redis [2]. Laravel Horizon, na druhej strane, je prístrojový panel a monitorovací nástroj špeciálne pre fronty Laravel's Redis, ktorý poskytuje informácie o spracovaní frontov a status práce v reálnom čase [1] [4].
Pokiaľ ide o používanie Laravel Pennant s Laravel Horizon na označenie funkcií v reálnom čase, medzi týmito dvoma balíčkami neexistuje priama integrácia alebo vstavané spojenie. Laravel Horizon sa zameriava na monitorovanie a riadenie frontov, zatiaľ čo vlajková vlajka spracováva príznaky funkcií a ich logiku hodnotenia. Môžete však architekovať riešenie, ktoré využíva obidve:
- Vlastný ovládač s vlajkou používajúci Redis: Pennant umožňuje vytvorenie vlastných ovládačov príznakov funkcií vrátane toho, ktorý môže používať Redis ako backend Store. Môžete implementovať ovládač príznaku funkcií Redis pre Pennant, ktorý môže ukladať a aktualizovať príznaky funkcií v Redis. Tento prístup môže uľahčiť aktualizácie v reálnom čase a kontroly vlajok s nízkou latenciou [2].
- Úlohy frontov a monitorovanie horizontu: Ak vaša aplikácia aktualizuje príznaky funkcií asynchrónne (napríklad prostredníctvom frontových úloh, ktoré upravujú príznaky v Redis), Laravel Horizon môže tieto úlohy monitorovať v reálnom čase. Toto nastavenie vám umožňuje sledovať procesy, ktoré menia príznaky funkcií, ale neposkytuje priame rozhranie správy príznakov funkcií.
- Udalosti a metriky: Kostiská vysiela udalosti, keď sú funkcie skontrolované alebo vyriešené, ktoré by ste mohli počúvať a potenciálne tlačiť metriky alebo oznámenia prostredníctvom systému udalostí Laravel. Zatiaľ čo Horizon natívne nezobrazuje metriky funkcie Funkcie, môžete zostaviť vlastné dashboardy alebo monitorovacie nástroje, ktoré tieto udalosti agregujú spolu s monitorovaním Horizon's Front Monitoring [2].
- Žiadny informačný panel pre príznaky funkcií v Horizonte: Odteraz neexistuje žiadny oficiálny informačný panel Horizon na riadenie alebo vizualizáciu príznakov funkcií Laravel Pennant. Diskusie v komunite naznačujú záujem o takýto nástroj, ale ešte neexistuje [3].
Stručne povedané, Laravel Pennant sa môže použiť popri Laravel Horizon v aplikácii Laravel, ale slúžia na rôzne účely. Pennant riadi vlajky funkcie, potenciálne s redis backend pre výkon v reálnom čase, zatiaľ čo Horizon monitoruje redis fronty a pracovné miesta. Označovanie funkcií v reálnom čase s Pennantom sa dá dosiahnuť pomocou Redis ako backend a využívania Laravelovho systému udalostí, ale samotný Horizon neposkytuje funkcie správy príznakov alebo vizualizácie.
Aj keď môžete použiť tak v rovnakej aplikácii a dokonca ich nechať interagovať nepriamo prostredníctvom redis a frontov, Laravel Pennant a Laravel Horizon nie sú integrovaní zo skrinky na označenie funkcie v reálnom čase [1] [2] [3] [4].
Citácie:
[1] https://laravel.com/docs/11.x/horizon
[2] https://laravel.com/docs/12.x/pennant
[3] https://www.reddit.com/r/laravel/comments/13htk4p/laravel_pennant_management/
[4] https://www.youtube.com/watch?v=r3c_qbvahxa
[5] https://laravel-news.com/feature-flags-with-laravel-pennant
[6] https://www.honeybadger.io/blog/aguide-for-forfeture-flags-in-laravel/
[7] https://wpwebinfotech.com/blog/laravel-pennant-guide/
[8] https://dev.to/saurabh-dhariwal/how-to-manage-feature-flags-with-laravel-pennant-in-2024-1phb