Laravel Pennant es un paquete de bandera de características livianas diseñadas para permitir el despliegue incremental y la gestión de las características de la aplicación con facilidad. Admite múltiples controladores de almacenamiento, incluida una matriz en memoria, una base de datos y controladores personalizados como Redis [2]. Laravel Horizon, por otro lado, es un tablero y una herramienta de monitoreo específicamente para las colas de Redis de Laravel, que proporciona información en tiempo real sobre el procesamiento de la cola y el estado de trabajo [1] [4].
Con respecto al uso de Laravel Pennant con Laravel Horizon para marcas de características en tiempo real, no existe una integración directa o una conexión incorporada entre los dos paquetes. Laravel Horizon se centra en el monitoreo y la gestión de la cola, mientras que el banderín maneja las banderas de funciones y su lógica de evaluación. Sin embargo, puede arquitectar una solución que aprovecha ambos:
- Controlador de banderín personalizado usando Redis: Pennant permite la creación de controladores de bandera de características personalizadas, incluida una que puede usar Redis como tienda de backend. Puede implementar un controlador de bandera de funciones basado en Redis para Pennant, que puede almacenar y actualizar las banderas de funciones en Redis. Este enfoque puede facilitar las actualizaciones en tiempo real y las verificaciones de bandera de baja latencia [2].
- Trabajos de cola y monitoreo de horizonte: si sus actualizaciones de su aplicación cuentan con banderas de forma asincrónica (por ejemplo, a través de trabajos en cola que modifican los indicadores en Redis), Laravel Horizon puede monitorear esos trabajos en tiempo real. Esta configuración le permite rastrear los procesos que cambian los indicadores de características, pero no proporciona una interfaz de administración de indicadores de características directas.
- Eventos y métricas: los eventos de despacho de bandas cuando las características se verifican o se resuelven, que puede escuchar y potencialmente impulsar métricas o notificaciones a través del sistema de eventos de Laravel. Si bien Horizon no muestra de forma nativa las métricas de bandera de funciones, puede crear paneles personalizados o herramientas de monitoreo que agregan estos eventos junto con la monitorización de la cola de Horizon [2].
- No hay tablero para banderas de características en Horizon: a partir de ahora, no hay un tablero de horizonte oficial o construido en la comunidad para administrar o visualizar las banderas de características del banderín de Laravel. Las discusiones en la comunidad indican interés en dicha herramienta, pero aún no existe [3].
En resumen, el banderín de Laravel se puede usar junto con el horizonte de Laravel en una aplicación de Laravel, pero tienen diferentes propósitos. Pennant administra banderas de funciones, potencialmente con un backend de Redis para el rendimiento en tiempo real, mientras que Horizon monitorea las colas y trabajos de Redis Redis. Los marcadores de características en tiempo real con banderín se pueden lograr mediante el uso de Redis como backend y aprovechando el sistema de eventos de Laravel, pero Horizon en sí no proporciona capacidades de gestión o visualización de banderas de características.
Por lo tanto, si bien puede usar tanto en la misma aplicación como incluso hacer que interactúen indirectamente a través de Redis y colas, Laravel Pennant y Laravel Horizon no están integrados fuera de la caja para marcarse en tiempo real [1] [2] [3] [4].
Citas:
[1] https://laravel.com/docs/11.x/horizon
[2] https://laravel.com/docs/12.x/pennant
[3] https://www.reddit.com/r/larel/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-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