Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Laravel Pennant có thể được sử dụng với Laravel Horizon để gắn cờ


Laravel Pennant có thể được sử dụng với Laravel Horizon để gắn cờ


Laravel Pennant là một gói cờ tính năng nhẹ được thiết kế để cho phép triển khai và quản lý các tính năng ứng dụng gia tăng một cách dễ dàng. Nó hỗ trợ nhiều trình điều khiển lưu trữ, bao gồm một mảng trong bộ nhớ, cơ sở dữ liệu và trình điều khiển tùy chỉnh như Redis [2]. Mặt khác, Laravel Horizon là một bảng điều khiển và công cụ giám sát dành riêng cho hàng đợi Redis của Laravel, cung cấp những hiểu biết thời gian thực về xử lý hàng đợi và trạng thái công việc [1] [4].

Về việc sử dụng Pennant Laravel với Laravel Horizon để gắn cờ tính năng thời gian thực, không có sự tích hợp trực tiếp hoặc kết nối tích hợp giữa hai gói. Laravel Horizon tập trung vào giám sát và quản lý hàng đợi, trong khi xử lý cờ hiệu có cờ và logic đánh giá của họ. Tuy nhiên, bạn có thể kiến ​​trúc sư một giải pháp tận dụng cả hai:

- Trình điều khiển Pennant tùy chỉnh sử dụng Redis: Pennant cho phép tạo các trình điều khiển cờ đặc trưng tùy chỉnh, bao gồm cả một trình điều khiển có thể sử dụng Redis làm cửa hàng phụ trợ. Bạn có thể triển khai trình điều khiển cờ tính năng dựa trên Redis cho Pennant, có thể lưu trữ và cập nhật các cờ tính năng trong Redis. Cách tiếp cận này có thể tạo điều kiện cập nhật thời gian thực và kiểm tra cờ có độ trễ thấp [2].

- Hàng đợi công việc và giám sát đường chân trời: Nếu ứng dụng của bạn cập nhật các cờ không đồng bộ (ví dụ: thông qua các công việc được xếp hàng sửa đổi cờ trong redis), Laravel Horizon có thể theo dõi các công việc đó trong thời gian thực. Thiết lập này cho phép bạn theo dõi các quy trình thay đổi cờ tính năng nhưng không cung cấp giao diện quản lý cờ tính năng trực tiếp.

- Các sự kiện và số liệu: Các sự kiện phái sinh khi các tính năng được kiểm tra hoặc giải quyết, bạn có thể nghe và có khả năng đẩy các số liệu hoặc thông báo thông qua hệ thống sự kiện của Laravel. Mặc dù Horizon không hiển thị các số liệu về cờ, bạn có thể xây dựng các bảng điều khiển tùy chỉnh hoặc các công cụ giám sát tập hợp các sự kiện này cùng với giám sát hàng đợi của Horizon [2].

- Không có bảng điều khiển cho các cờ tính năng ở Horizon: Hiện tại, không có bảng điều khiển Horizon chính thức hoặc cộng đồng để quản lý hoặc trực quan hóa các cờ tính năng của Laravel Pennant. Các cuộc thảo luận trong cộng đồng cho thấy sự quan tâm đến một công cụ như vậy, nhưng nó chưa tồn tại [3].

Tóm lại, Laravel Pennant có thể được sử dụng cùng với Laravel Horizon trong một ứng dụng Laravel, nhưng chúng phục vụ các mục đích khác nhau. Pennant quản lý các lá cờ, có khả năng có phụ trợ Redis cho hiệu suất thời gian thực, trong khi Horizon giám sát các hàng đợi và công việc của Redis. Có thể đạt được tính năng thời gian thực bằng cờ hiệu bằng cách sử dụng Redis làm phụ trợ và tận dụng hệ thống sự kiện của Laravel, nhưng bản thân Horizon không cung cấp khả năng quản lý cờ hoặc quản lý cờ.

Do đó, trong khi bạn có thể sử dụng cả trong cùng một ứng dụng và thậm chí có chúng tương tác gián tiếp thông qua Redis và hàng đợi, Laravel Pennant và Laravel Horizon không được tích hợp ra khỏi hộp để gắn cờ tính năng thời gian thực [1] [2] [3] [4].

Trích dẫn:
[1] https://laravel.com/docs/11.x/horizon
[2] https://laravel.com/docs/12.x/pennant
.
[4] https://www.youtube.com/watch?v=R3C_QBVAHXA
[5] https://laravel-news.com/feature-flags-with-laravel-pennant
.
[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