INTEGRITY Dokumentace

Jak se endpointy a pooly stávají nezdravými

Mluvíme-li o dynamickém load balancingu, znamená to, že váš load balancer směruje požadavky pouze na endpointy, které daný provoz zvládnou zpracovat.

Ale jak váš load balancer vědět které endpointy dokážou provoz zpracovat? To určujeme pomocí systému monitorů, health monitorů a poolů.


Dynamické vyrovnávání zátěže

Dynamické vyrovnávání zátěže probíhá kombinací pooly, monitory a kontroly stavu.

    flowchart RL
      accTitle: Load balancing monitor flow
      accDescr: Monitors issue health monitor requests, which validate the current status of servers within each pool.
      Monitor -- Health Monitor ----> Endpoint2
      Endpoint2 -- Response ----> Monitor
      subgraph Pool
      Endpoint1((Endpoint 1))
      Endpoint2((Endpoint 2))
      end

Jak se endpoint stane nezdravým

Kontroly stavu jsou požadavky, které monitor odesílá v pravidelných intervalech a podle nastavení monitoru vracejí pass nebo selhání hodnotu, abyste se ujistili, že koncový bod je stále schopen přijímat provoz.

Každý požadavek monitoru stavu se snaží zodpovědět dvě otázky:

  1. Je endpoint offline?: Reaguje koncový bod na požadavek health monitoru vůbec? Pokud ano, reaguje dostatečně rychle (jak je uvedeno v Časový limit pole)?
  2. Funguje endpoint podle očekávání?: Odpovídá koncový bod očekávanými kódy odpovědi HTTP? Obsahuje odpověď v těle konkrétní informace?

Pokud je odpověď na některou z těchto otázek „Ne“, endpoint požadavek monitoru stavu nesplní.

Pro každou možnost vybranou u poolu v poli Regiony monitoru stavu, Cloudflare odesílá požadavky monitoru stavu ze tří samostatných datacenter v daném regionu.

Požadavky monitoru stavu přicházejí ze tří datových center v rámci každého vybraného regionu.

Pokud většina datových center v daném regionu projde požadavky monitoru stavu, je tento region považován za zdravý. Pokud je zdravá většina regionů, je za zdravý považován i samotný endpoint.

Analytika a protokoly vyrovnávání zátěže zobrazují pouze globální změny stavu.

Pro vyšší přesnost a konzistenci při změně stavu endpointu můžete také nastavit consecutive_up a consecutive_down parametry prostřednictvím API endpoint pro vytvoření monitoru. Aby se koncový bod změnil ze stavu funkční na nefunkční, musí být po sobě jdoucí počet krát označen jako funkční (podle hodnoty určené consecutive_down). Totéž platí, ze stavu nezdravého do zdravého, i pro consecutive_up.


Jak se pool stane nezdravým

Když jednotlivý endpoint se stane nezdravým, které mohou ovlivnit stav přidružených poolů (viditelný v dashboardu):

Distribuce provozu

Když pool dosáhne Kritická stavu začne váš load balancer přesměrovávat provoz podle svého Zásady směrování provozu:

Záložní pooly

Tento pool slouží jako záložní řešení pro krajní případ, jeho stav se při směrování provozu nezohledňuje.

Fallback pooly jsou důležité, protože provoz může na váš load balancer přicházet i ve chvíli, kdy jsou všechny pooly nedostupné (zakázané nebo nezdravé). Load balancer pak potřebuje mít kam tento provoz nasměrovat, a proto ho odešle do fallback poolu.


Jak se load balancer stane nezdravým

Když se jeden nebo více poolů stane nezdravým, váš load balancer může v dashboardu zobrazit i jiný stav:

Pokud load balancer dosáhne Kritická stavu a pool sloužící jako váš záložní pool je také zakázán: