Cờ Vercel: feature flag gốc của nền tảng

Tại Vercel, feature flag là cách chúng tôi vận chuyển. Từ các tính năng mới đến các bản cập nhật mô hình trong v0 và thậm chí cả những thay đổi về cơ sở hạ tầng như di chuyển cơ sở dữ liệu sản xuất trong đó cờ là phần chuyển đổi. Riêng nhóm v0 đã chạy hàng trăm vào bất kỳ thời điểm nào.
Mã hợp nhất sẽ gửi bản dựng sang sản xuất nhưng feature flag sẽ kiểm soát xem người dùng có thể thấy những gì đã thay đổi hay không. Cờ cho phép bạn gửi theo lịch trình của riêng mình, phát hành thành các phân đoạn khi bạn đã sẵn sàng và quay lại ngay lập tức bằng cách chuyển đổi cờ mà không cần chạm vào tệp nguồn hoặc triển khai lại.
Cờ Vercel là nền tảng gốc: phía máy chủ theo mặc định, không ảnh hưởng đến hiệu suất trang và được tích hợp trực tiếp với các khung bạn đã sử dụng.
Cờ Vercel là gì
Cờ Vercel cho phép bạn tạo feature flag, xác định quy tắc nhắm mục tiêu theo thuộc tính, phân khúc hoặc môi trường của người dùng, chạy triển khai lũy tiến và tắt công tắc tắt nếu có sự cố xảy ra trong quá trình sản xuất.
Từ mã của mình, bạn đọc các cờ thông qua Flags SDK, một thư viện mã nguồn mở, không phụ thuộc vào nhà cung cấp mà chúng tôi duy trì bằng các bộ điều hợp hạng nhất cho Next.js và SvelteKit. Nếu bạn đang sử dụng một khung khác, bạn có thể sử dụng Cờ Vercel bằng cách sử dụng nhà cung cấp OpenFeature tích hợp sẵn.
Bảng điều khiển Vercel Flags nằm cùng với dự án và hoạt động triển khai của bạn, nơi bạn có thể tạo và quản lý cờ.


Nhưng điều làm cho Vercel Flags khác biệt với các dịch vụ cờ khác là sự tích hợp khung.
Tại sao framework-bản địa lại quan trọng
Các nhà cung cấp cờ khác cung cấp cho bạn một SDK chung để tự kết nối qua khung của bạn và một bảng thông tin riêng để quản lý các cờ. Vercel Flags được tích hợp vào nền tảng Vercel, do đó, bạn quản lý các cờ trong cùng một bảng điều khiển với quá trình triển khai của mình và mã của bạn sẽ đọc chúng thông qua SDK Flags gốc của khung.
Đánh giá phía máy chủ
Khi cờ được đánh giá trên máy khách, người dùng sẽ thấy trình tải, nhấp nháy hoặc thay đổi bố cục. Trình duyệt không thể hiển thị chế độ xem chính xác cho đến khi giá trị cờ quay trở lại. Thay vào đó, Flags SDK sẽ đánh giá trên máy chủ. Với Thành phần máy chủ React của Next.js, bạn đọc cờ đang chờ trong khi kết xuất. Chế độ xem chính xác được xác định phía máy chủ và trình duyệt hiển thị trực tiếp mà không có yêu cầu cờ riêng. Giá trị đó đến từ Cờ Vercel, trong đó thay đổi cấu hình sẽ lan truyền đến mọi vùng trong vòng một phần nghìn giây.
1nhập { showNewFeature } từ "@/flags"2
3export hàm không đồng bộ mặc định Page() {4 const isEnabled = đang chờ showNewFeature()5 return isEnabled ? <Bảng điều khiển mới /> : <Bảng điều khiển cũ />6}Đọc phía máy chủ cờ trong một tuyến đường. Người dùng nhận được biến thể chính xác trước khi trang vẽ.
Đối với các trường hợp nâng cao, bạn có thể chuyển cờ dưới dạng lời hứa cho thành phần máy khách thay vì chờ đợi. Điều này cho phép trang bắt đầu hiển thị trước khi giá trị cờ xuất hiện, với thành phần hiển thị dự phòng trong thời gian chờ đợi. Cờ vẫn phân giải trên máy chủ nên không có yêu cầu phía trình duyệt nào dành cho nó.
Đăng ký cờ tự động
Cờ Vercel đăng ký cờ tự động. Xác định một trong mã, triển khai và nó xuất hiện trong bảng điều khiển dưới dạng bản nháp. Quảng bá bản nháp khi bạn đã sẵn sàng định cấu hình nhắm mục tiêu và triển khai. Hãy xóa cờ khỏi mã của bạn và trang tổng quan sẽ đánh dấu mã đó là không được tham chiếu, để bạn luôn biết nội dung nào an toàn để lưu trữ. Những cờ bạn viết là những cờ bạn quản lý, không có danh sách riêng để đồng bộ hóa bằng tay.
1nhập { flag } từ "flags/next"2import { vercelAdapter } từ "@flags-sdk/vercel"3
4export const showNewFeature = flag({5 key: "show-new-feature",6 adapter: vercelAdapter()7})Xác định cờ bằng Flags SDK và bộ điều hợp Vercel.
Tính toán trước
Các trang tĩnh hoạt động nhanh và nhất quán vì chúng được phục vụ từ các vùng CDN gần bạn và người dùng của bạn nhất. Nhưng việc thêm cờ sẽ làm cho trang trở nên động. Hoặc bạn kết xuất phía máy chủ và mất khả năng phân phối CDN hoặc bạn tìm nạp cờ phía máy khách và nhận lại sự thay đổi bố cục. Tuy nhiên, Flags SDK đi kèm với một mẫu nâng cao, tùy chọn để giải quyết vấn đề này. Precompute cho phép bạn xây dựng tất cả các biến thể tại thời điểm xây dựng, phân phối chúng thông qua CDN và để Phần mềm trung gian định tuyến (tệp proxy.ts trong Next.js) định tuyến từng người dùng đến đúng người dùng. Mỗi trang vẫn ở trạng thái tĩnh và tải mà không cần thay đổi bố cục.
Lưu ý: Tính toán trước là một mẫu nâng cao nhưng mạnh mẽ. Đọc tài liệu để tìm hiểu thêm.