Sdílet prostřednictvím


Přehled spřažení relací služby Application Gateway pro kontejnery

Spřažení relací, označované také jako trvalost relací nebo rychlé relace, je technika používaná při vyrovnávání zatížení, která zajišťuje, aby se požadavky klienta vždy odesílaly na stejný server. To je důležité pro aplikace, které ukládají uživatelská data do proměnných relace nebo do místní mezipaměti na konkrétním serveru (běžně označované jako stavová aplikace).

Spřažením relace služba Application Gateway pro kontejnery zobrazí soubor cookie v hlavičce Set-Cookie první odpovědi. Pokud klient zobrazí soubor cookie v budoucích požadavcích, služba Application Gateway pro kontejnery rozpozná soubor cookie a přesměruje provoz do stejného cíle back-endu. Podívejte se na následující ukázkový scénář:

Diagram znázorňující spřažení relace služby Application Gateway pro kontejnery

Následující kroky jsou znázorněny v předchozím diagramu:

  1. Klient zahájí požadavek na front-end služby Application Gateway for Containers (Application Gateway for Containers).
  2. Application Gateway pro kontejnery vybere jeden z mnoha dostupných podů pro vyrovnávání zatížení požadavku. V tomto příkladu předpokládáme, že pod C je vybrán ze čtyř dostupných podů.
  3. Pod C vrátí odpověď službě Application Gateway pro kontejnery.
  4. Kromě odpovědi back-endu z podu C přidá Application Gateway pro kontejnery hlavičku Set-Cookie obsahující jedinečně vygenerovanou hodnotu hash použitou pro směrování.
  5. Klient odešle další požadavek službě Application Gateway pro kontejnery spolu se souborem cookie spřažení relace nastaveným v předchozím kroku.
  6. Application Gateway pro kontejnery detekuje soubor cookie a vybere pod C, aby žádost obsloužila.
  7. Pod C reaguje na Službu Application Gateway pro kontejnery.
  8. Application Gateway for Containers vrátí odpověď klientovi.

Podrobnosti využití

Spřažení relace je definováno následujícími vlastnostmi a vlastnostmi:

Název Popis
affinityType Platné hodnoty jsou soubory cookie aplikace nebo spravované soubory cookie.
cookieName Vyžaduje se, pokud je spřaženíType soubor cookie aplikace. Toto je název souboru cookie.
cookieDuration Vyžaduje se, pokud je spřaženíType soubor cookie aplikace. Jedná se o dobu trvání (životnost) souboru cookie v sekundách.

Ve spravovaném typu spřažení souborů cookie služba Application Gateway používá předdefinované hodnoty při nabízení souboru cookie klientovi.

  • Název souboru cookie je: AGCAffinity.
  • Doba trvání (životnost) souboru cookie je 86 400 sekund (jeden den).
  • Vlastnosti cookieName a cookieDuration hodnoty se zahodí.

V typu spřažení aplikace musí být explicitně definován název souboru cookie a doba trvání (životnost).

Konfigurace spřažení relací

Spřažení relací lze definovat v prostředku RoutePolicy , který cílí na definovanou adresu HTTPRoute. Je nutné zadat sessionAffinity buď nebo affinityType application-cookie managed-cookie. V tomto příkladu používáme application-cookie jako spřaženíType a explicitně definujeme název a životnost souboru cookie.

Příklad příkazu pro vytvoření nové RoutePolicy s definovaným souborem cookie volaným nomnom s životností 3 600 sekund (1 hodina).

kubectl apply -f - <<EOF
apiVersion: alb.networking.azure.io/v1
kind: RoutePolicy
metadata:
  name: session-affinity-route-policy
spec:
  targetRef:
    kind: HTTPRoute
    name: http-route
    namespace: test-infra
    group: ""
  default:
    sessionAffinity: 
      affinityType: "application-cookie"
      cookieName: "nomnom"
      cookieDuration: 3600
EOF