Laravel Pennant是一个轻巧的功能标志软件包,旨在轻松实现增量推出和应用程序功能的管理。它支持多个存储驱动程序,包括内存数组,数据库和自定义驱动程序,例如Redis [2]。另一方面,Laravel Horizon是专门针对Laravel Redis队列的仪表板和监视工具,可提供对队列处理和工作状态的实时见解[1] [4]。
关于使用Laravel Tenant与Laravel Horizon进行实时功能标记的使用,两个软件包之间没有直接集成或内置连接。 Laravel Horizon专注于队列监视和管理,而Pennant的操作功能标志及其评估逻辑。但是,您可以构建一个利用两者的解决方案:
- 使用REDIS的自定义thenant驱动程序:Pennant允许创建自定义功能标志驱动程序,其中包括可以将Redis用作后端商店的驱动程序。您可以为Pennant实现基于REDIS的功能标志驱动程序,该驱动程序可以在Redis中存储和更新功能标志。这种方法可以促进实时更新和低延迟标志检查[2]。
- 队列作业和地平线监视:如果您的应用程序更新功能标志异步(例如,通过在Redis中修改标志的排队作业),Laravel Horizon可以实时监视这些作业。此设置使您可以跟踪更改功能标志但不提供直接功能标志管理接口的过程。
- 事件和指标:佳能恩特在检查或解决功能时派遣事件,您可以通过Laravel的事件系统聆听并可能推出指标或通知。尽管Horizon并未本地显示功能标志指标,但您可以构建自定义仪表板或监视工具,这些工具将这些事件与Horizon的队列监视并排汇总[2]。
- 没有用于Horizon的功能标志的仪表板:截至目前,还没有用于管理或可视化Laravel Pennant功能标志的官方或社区建造的地平线仪表板。社区中的讨论表明对这种工具的兴趣,但尚不存在[3]。
总而言之,Laravel Pennant可以在Laravel应用中与Laravel Horizon一起使用,但它们的目的不同。 Tennant管理着特征旗,有可能带有重新后端以进行实时性能,而Horizon则监视了Redis排队和工作。可以通过使用Redis作为后端并利用Laravel的事件系统来实现带有Pennant的实时功能标记,但是Horizon本身没有提供功能标志管理或可视化功能。
因此,尽管您可以在同一应用程序中同时使用,甚至可以通过Redis和队列间接相互作用,但Laravel Pennant和Laravel Horizon并未将其集成开箱即用以进行实时功能标记[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/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-feature-flags-in-laravel/
[7] https://wpwebinfotech.com/blog/laravel-pennant-guide/
[8] https://dev.to/saurabh-dhariwal/how-to-to-manage-feature-feature-flags-with-laravel-pennant-in-2024-1phb