← Cloudflare Flagship / flagship
Základní pojmy
Flagship organizuje feature flags do aplikací. Definujete flags s variantami a pravidly cílení a poté je vyhodnocujete v rámci globální sítě Cloudflare.
Přehled
Příznaky funkcí Flagship procházejí od vytvoření po vyhodnocení třemi fázemi:
- Konfigurovat : Vytvořte příznaky a cílicí pravidla v Cloudflare dashboard ↗ nebo přes API.
- Šíření : Flagship automaticky distribuuje konfiguraci vašich příznaků po celé globální síti Cloudflare během několika sekund.
- Vyhodnocení : Váš Worker (nebo SDK) vyhodnocuje příznaky lokálně pomocí propagované konfigurace. Nedochází k žádné komunikaci s centrálním serverem.
Změny příznaků se globálně projeví během několika sekund od uložení. Worker ani aplikaci není nutné znovu nasazovat ani restartovat. Pokud je dashboard dočasně nedostupný, vyhodnocování příznaků nadále funguje s použitím naposledy propagované konfigurace.
Aplikace
Aplikace je nejvyšší organizační jednotka ve Flagship. Sdružuje související příznaky.
Aplikace obvykle odpovídá jednomu projektu, službě nebo produktové oblasti. Každý účet Cloudflare může mít více aplikací. Můžete si například vytvořit jednu aplikaci pro svůj marketingový web a druhou pro API backend.
Příznaky
Příznak je pojmenovaný přepínač funkce. Každý příznak má klíč, sadu varianty, cílicí pravidla, a stav zapnuto/vypnuto.
Klíče příznaků musí být v rámci aplikace jedinečné. Mohou obsahovat písmena, číslice, spojovníky a podtržítka.
Když je flag vypnutý, vždy vrací výchozí variantu bez ohledu na cílicí pravidla. Zvolte výchozí variantu, která je pro vaši aplikaci bezpečná i v případě, že Flagship flag nedokáže vyhodnotit.
Varianty
Varianty jsou možné hodnoty, které flag může vrátit. Každý flag musí mít alespoň jednu variantu a jedna varianta je označena jako výchozí.
Flagship podporuje čtyři typy variant:
| Typ | Příklad |
|---|---|
| Boolean | on: true, off: false |
| Řetězec | v1: "old-checkout", v2: "new-checkout" |
| Číslo | low: 100, high: 1000 |
| JSON | premium: { "tier": "premium", "features": ["analytics", "export"] } |
Booleovské flagy použijte pro jednoduché přepínače zapnuto/vypnuto. Řetězcové, číselné nebo JSON flagy použijte, když potřebujete doručovat konfigurační hodnoty nebo strukturovaná data. Varianty typu JSON mohou obsahovat objekty nebo pole.
Pravidla cílení
Pravidla cílení určují, kterou variantu příznak pro daný požadavek vrátí. Pravidla se vyhodnocují postupně a vyhrává první odpovídající pravidlo. Pokud žádné pravidlo neodpovídá, vrátí se výchozí varianta.
Každé pravidlo obsahuje:
- Podmínky které porovnávají atribut z kontext vyhodnocení oproti hodnotě pomocí operátoru.
- Volitelný procentuální rollout které rozděluje provoz mezi varianty.
- A varianta k zobrazení, pokud se pravidlo shoduje.
Podmínky v rámci pravidla lze seskupit pomocí AND/OR operátory.
Viz Pravidla cílení a Operátory pro úplný seznam operátorů a možností konfigurace.
Kontext vyhodnocení
Kontext vyhodnocení je sada atributů ve formátu klíč-hodnota, které popisují aktuálního uživatele nebo požadavek (například userId, country, plan).
Kontext předáváte metodám vyhodnocení na bindingu jako třetí argument:
const value = await env.FLAGS.getBooleanValue("new-checkout", false, {
userId: "user-42",
country: "US",
});Při použití OpenFeature SDK, kontext předáváte prostřednictvím objektu evaluačního kontextu OpenFeature.
Flagship používá kontextové atributy k porovnání s pravidly cílení a k určení bucketingu procentuálního rolloutu. Konzistentní kontext (například stejné userId) vytváří stejný výsledek postupného zavádění při každém vyhodnocení.
Do vyhodnocovacího kontextu neposílejte citlivá data. Zahrňte pouze atributy, které potřebují cílicí pravidla nebo bucketing rolloutu.
Šíření příznaků
Po změně příznaku může trvat až 30 sekund, než se aktualizovaná hodnota globálně projeví. Během tohoto okna šíření mohou některá vyhodnocení stále vracet předchozí hodnotu příznaku.