← Cloudflare Load Balancing / load-balancing / additional-options
Odlehčení zátěže
Použijte odlehčování zátěže, abyste zabránili tomu, aby ohrožený endpoint stát se nefunkčním a spouští proces failoveru.
Jakmile na poolu nakonfigurujete load shedding, tento pool začne odklánět provoz do ostatních poolů podle vašeho nastavení load sheddingu a load balanceru zásada směrování.
Krok 1: Identifikace rizikových endpointů
Pomocí svých interních metrik identifikujte endpointy, u nichž hrozí dosažení prahové hodnoty selhání.
- Pokud váš koncový bod zaznamenává zvýšený provoz, ale selhání mu zatím nehrozí, začněte s Krok 2.
- Pokud vašemu koncovému bodu hrozí selhání, začněte s Krok 4.
Krok 2: Odlehčení výchozího provozu z poolu
Jakmile identifikujete ohrožený koncový bod, odkloňte malé množství Výchozí provoz z poolu daného endpointu. Tento provoz nesouvisí se stávajícími Session affinity relací.
Nakonfigurujte odlehčení zátěže přes dashboard nebo API.
Nastavení přes dashboard
Chcete-li povolit load shedding pro konkrétní pool v dashboardu:
- Přejděte na Load Balancing.
- Vyberte Fondy kartě.
- U poolu vyberte Úprava.
- Otevřete Nakonfigurujte odlehčení zátěže rozevírací nabídce.
- Pro Výchozí provoz, vyberte Zásada a Shed %:
Možnosti zásad
Když dojde k odlehčení zátěže Výchozí provoz, máte dvě Zásada možnosti:
- Random: Náhodně odmítne procento požadavků uvedené v Shed %. Rozděluje provoz přesněji, ale požadavky ze stejné IP adresy mohou směřovat na různé koncové body.
- IP hash: Odmítne procento prostoru hash hodnot IP adres uvedené v Shed %. Zajišťuje, že požadavky ze stejné IP adresy vždy směřují na stejný koncový bod, ale může odlehčit výrazně vyšší nebo nižší procento požadavků.
Další pokyny k výběru zásady najdete v Zásady odlehčování zátěže.
Shed %
Při výběru Shed %, začněte s malým procentem a postupně ho navyšujte. Zejména pokud zvolíte Zásada odlehčení IP hash, může dojít k odlehčení vyššího objemu provozu, než jste očekávali.
Nastavení přes API
Chcete-li povolit load shedding pro konkrétní pool prostřednictvím API, aktualizujte hodnoty pro daný pool load_shedding objekt.
Příklad požadavku
curl --request PATCH \
"https://api.cloudflare.com/client/v4/accounts/{account_id}/load_balancers/pools/{pool_id}" \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data-binary '{
"load_shedding": {
"default_percent": 20,
"default_policy": "random",
"session_percent": 0,
"session_policy": "hash"
}
}'Další pokyny k výběru zásady odlehčení provozu najdete v Zásady odlehčování zátěže.
Krok 3: Monitorování provozu
Jakmile začnete odklánět výchozí provoz, vyhodnoťte dopady pomocí Přehled metriky v analytice Load Balancing. Na základě těchto čísel a vašich interních metrik zjistíte, zda je potřeba z poolu přesměrovat další provoz.
Pokud zaznamenáte zvýšený provoz do poolu, může být nutné odlehčit další provoz. Pooly odlehčují procento celkového provozu, takže jakékoli zvýšení celkového provozu zvýší i provoz dosahující vašeho poolu.
Krok 4: Odlehčení dalšího provozu (volitelné)
Pokud potřebujete odlehčit další provoz poolu:
- Postupujte podle kroků uvedených v Krok 2.
- V dashboardu zvyšte Shed % pro Výchozí provoz a/nebo Provoz session affinity.
- V API zvyšte hodnotu pro
default_percenta/nebosession_percent.
Protože odlehčování Provoz Session Affinity naruší existující relace a může zhoršit uživatelský zážitek, proto tuto možnost povolte pouze v případě, že vašemu poolu bezprostředně hrozí, že se stane nezdravým, nebo pokud má vysoké procento provozu spojeného s existujícími relacemi. Další pokyny najdete v Zásady odlehčování zátěže.
Krok 5: Vypnutí odlehčování zátěže
Jakmile koncovému bodu už nehrozí riziko, odeberte z poolu load shedding.
Chcete-li odstranit odlehčování zátěže v dashboardu, postupujte stejně jako při Nakonfigurujte odlehčení zátěže přes dashboard ale nastavte Shed % na 0 pro obě Výchozí provoz a Provoz session affinity.
Chcete-li odstranit odlehčování zátěže přes API, postupujte stejně jako při Nakonfigurujte odlehčení zátěže přes API ale nastavte load_shedding objekt na null.
Další poznámky
Zásady odlehčování zátěže
Pro Výchozí provoz, máte na výběr ze dvou zásad odlehčení zátěže.
A Random zásada:
- Náhodně odlehčuje procento požadavků zadané v poli Shed %.
- Rozkládá provoz přesněji, protože odlehčuje na úrovni jednotlivých požadavků.
- Může způsobit, že požadavky ze stejné IP adresy zasáhnou různé koncové body, což může vést k cache miss, nekonzistentní latenci nebo přerušení relace u DNS-only load balancery.
IP hash zásada:
- Odlehčí procento hash prostoru IP adres uvedené v Shed %.
- Zajišťuje, že požadavky ze stejné IP adresy vždy zamíří na stejný endpoint, což zvyšuje počet zásahů do cache, poskytuje konzistentní latenci a zachovává relace.
- Může požadavky rozdělovat nerovnoměrně, protože hashování nezaručuje dokonale rovnoměrné rozložení IP adres a jednotlivé IP adresy mohou odpovídat za různé procento vašich požadavků.
Vyberte Random zásadu, pokud chcete přesnější rozložení nezpracovaných požadavků a IP hash zásadu, pokud chcete zabránit tomu, aby jedna IP adresa přeskakovala mezi různými endpointy.
Pro Provoz Session Affinity, můžete použít pouze IP hash zásada, protože tyto požadavky souvisejí s existujícími relacemi. Zvyšte pouze Shed % pokud vám nevadí narušit existující relace.
Záložní pooly
Pokud mají všechny pooly v load balanceru Odlehčení zátěže povoleno, část provozu bude směrována do záložního poolu. Aby se žádný provoz nedostal do záložního poolu, zajistěte, aby byl v rámci load balanceru vždy alespoň jeden pool does not mají povoleno odlehčení zátěže.
Pooly ve více load balancerech
Pokud u poolu povolíte odlehčení provozu, bude odlehčovat stejné procento provozu napříč všemi vašimi load balancery. Pokud potřebujete, aby endpoint odlehčoval různá procenta provozu pro různé load balancery, zařaďte tento endpoint do více poolů.