O Laravel Pennant é um pacote de sinalizador de recursos leves projetado para permitir o lançamento incremental e o gerenciamento dos recursos do aplicativo com facilidade. Ele suporta vários drivers de armazenamento, incluindo uma matriz na memória, um banco de dados e drivers personalizados, como Redis [2]. O Laravel Horizon, por outro lado, é um painel e uma ferramenta de monitoramento especificamente para as filas Redis de Laravel, fornecendo informações em tempo real sobre o processamento da fila e o status do trabalho [1] [4].
Em relação ao uso de galhardete de Laravel com o Laravel Horizon para sinalização de recursos em tempo real, não há integração direta ou conexão interna entre os dois pacotes. O Laravel Horizon se concentra no monitoramento e gerenciamento da fila, enquanto a galheta manipula sinalizadores e sua lógica de avaliação. No entanto, você pode arquitetar uma solução que aproveita os dois:
- Driver personalizado de galhardete usando Redis: Gnera permite a criação de drivers de sinalizador de recursos personalizados, incluindo um que pode usar o Redis como a loja de back -end. Você pode implementar um driver de sinalizador de recursos baseado em Redis para galhardete, que pode armazenar e atualizar sinalizadores de recursos no Redis. Essa abordagem pode facilitar as atualizações em tempo real e as verificações de sinalizador de baixa latência [2].
- Trabalhos na fila e monitoramento do horizonte: se o seu aplicativo atualiza os sinalizadores de recursos assíncronos (por exemplo, através de trabalhos em fila que modificam sinalizadores em Redis), o Laravel Horizon pode monitorar esses trabalhos em tempo real. Essa configuração permite rastrear os processos que alteram os sinalizadores de recursos, mas não fornecem uma interface direta de gerenciamento de sinalizador de recursos.
- Eventos e métricas: os ginásticos despacham eventos quando os recursos são verificados ou resolvidos, que você pode ouvir e potencialmente empurrar métricas ou notificações pelo sistema de eventos de Laravel. Embora o Horizon não exiba métricas de sinalizador de recursos, você pode criar painéis ou ferramentas de monitoramento personalizadas que agregam esses eventos ao lado do monitoramento da fila da Horizon [2].
- Nenhum painel para sinalizadores de recursos no Horizon: A partir de agora, não há painel oficial ou criado pela comunidade para gerenciar ou visualizar sinalizadores de destaque da Laravel Pennant. As discussões na comunidade indicam interesse em tal ferramenta, mas ainda não existe [3].
Em resumo, o Laravel Pennant pode ser usado ao lado do horizonte de Laravel em uma aplicação de Laravel, mas eles servem a propósitos diferentes. A Gnera gerencia as bandeiras, potencialmente com um back-end de Redis para desempenho em tempo real, enquanto o Horizon monitora filas e empregos em Redis. A sinalização de recursos em tempo real com galhardete pode ser alcançada usando o Redis como um back-end e alavancando o sistema de eventos de Laravel, mas o próprio Horizon não fornece recursos de gerenciamento ou visualização de sinalizadores de recursos.
Assim, embora você possa usar tanto na mesma aplicação e até fazê-los interagir indiretamente via Redis e filas, Laravel Pennant e Laravel Horizon não são integrados para fora da caixa para sinalização de recursos em tempo real [1] [2] [3] [4].
Citações:
[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/a-guide-to-feature-flags-s--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