Sdílet prostřednictvím


Schéma LoadBalancerProbe definice Azure Cloud Services (Classic)

Důležité

Od 1. září 2024 je služba Cloud Services (Classic) pro všechny zákazníky zastaralá. Microsoft zastaví a vypne všechna stávající spuštěná nasazení a data se od října 2024 trvale ztratí. Nová nasazení by měla používat nový model nasazení založený na Azure Resource Manageru na Azure Cloud Services (rozšířená podpora).

Sonda nástroje pro vyrovnávání zatížení je sonda stavu definovaných zákazníkem koncových bodů UDP a koncových bodů v instancích rolí. Nejedná LoadBalancerProbe se o samostatný prvek, který se kombinuje s webovou rolí nebo rolí pracovního procesu v definičním souboru služby. Více než jedna role může použít LoadBalancerProbe.

Výchozí přípona definičního souboru služby je .csdef.

Funkce sondy nástroje pro vyrovnávání zatížení

Azure Load Balancer zodpovídá za směrování příchozího provozu do vašich instancí rolí. Nástroj pro vyrovnávání zatížení určuje, které instance mohou přijímat provoz pravidelným zjišťováním jednotlivých instancí, aby bylo možné určit stav dané instance. Nástroj pro vyrovnávání zatížení testuje každou instanci několikrát za minutu. Existují dvě různé možnosti, jak poskytnout nástroji pro vyrovnávání zatížení stav instance – výchozí sondu nástroje pro vyrovnávání zatížení nebo vlastní sondu nástroje pro vyrovnávání zatížení, která se implementuje definováním LoadBalancerProbe v souboru .csdef.

Výchozí sonda nástroje pro vyrovnávání zatížení využívá agenta hosta ve virtuálním počítači, který naslouchá odpovědi HTTP 200 OK a reaguje na ni pouze v případě, že je instance ve stavu Připraveno (například když instance není ve stavu Zaneprázdněn, Recyklace, Zastavení atd.). Pokud agent hosta nereaguje s protokolem HTTP 200 OK, Azure Load Balancer označí instanci jako nereagující a přestane do této instance odesílat provoz. Azure Load Balancer pokračuje příkazem ping instance a pokud agent hosta odpoví http 200, Azure Load Balancer odešle provoz do této instance znovu. Při použití webové role váš kód webu obvykle běží v w3wp.exe, které prostředky infrastruktury Azure a agent hosta nemonitorují. Selhání v w3wp.exe (například odpovědi HTTP 500) nejsou hlášeny agentovi hosta a nástroj pro vyrovnávání zatížení neví, že se má tato instance převést mimo rotaci.

Vlastní sonda nástroje pro vyrovnávání zatížení přepíše výchozí sondu agenta hosta a umožňuje vytvořit vlastní logiku pro určení stavu instance role. Nástroj pro vyrovnávání zatížení pravidelně testuje váš koncový bod (ve výchozím nastavení každých 15 sekund). Instance je považována za obměnu, pokud reaguje pomocí PROTOKOLU TCP ACK nebo HTTP 200 během časového limitu (výchozí hodnota je 31 sekund). Tento proces může být užitečný k implementaci vlastní logiky pro odebrání instancí z obměny nástroje pro vyrovnávání zatížení (například vrácení stavu, který není 200, pokud instance překročí 90 % procesoru). U webových rolí používajících w3wp.exe toto nastavení také znamená, že získáte automatické monitorování vašeho webu, protože selhání v kódu webu vrátí sondě nástroje pro vyrovnávání zatížení stav, který není 200. Pokud v souboru .csdef nedefinujete LoadBalancerProbe, použije se výchozí chování nástroje pro vyrovnávání zatížení (jak bylo popsáno dříve).

Pokud používáte vlastní sondu nástroje pro vyrovnávání zatížení, musíte zajistit, aby vaše logika zohlednila metodu RoleEnvironment.OnStop. Pokud použijete výchozí sondu nástroje pro vyrovnávání zatížení, instance se před zavoláním onStopu vyřadí z obměny, ale vlastní sonda nástroje pro vyrovnávání zatížení může během události OnStop pokračovat v vrácení 200 OK. Pokud k vyčištění mezipaměti používáte událost OnStop, zastavte službu nebo jinak proveďte změny, které můžou ovlivnit chování služby za běhu, musíte zajistit, aby logika sondy vlastního nástroje pro vyrovnávání zatížení odebrala instanci z obměny.

Schéma definice základní služby pro sondu nástroje pro vyrovnávání zatížení

Základní formát definičního souboru služby obsahujícího sondu nástroje pro vyrovnávání zatížení je následující.

<ServiceDefinition …>
   <LoadBalancerProbes>
      <LoadBalancerProbe name="<load-balancer-probe-name>" protocol="[http|tcp]" path="<uri-for-checking-health-status-of-vm>" port="<port-number>" intervalInSeconds="<interval-in-seconds>" timeoutInSeconds="<timeout-in-seconds>"/>
   </LoadBalancerProbes>
</ServiceDefinition>

Prvky schématu

Element LoadBalancerProbes definičního souboru služby obsahuje následující prvky:

LoadBalancerProbes Element

Tento LoadBalancerProbes prvek popisuje kolekci sond nástroje pro vyrovnávání zatížení. Tento element je nadřazený prvek LoadBalancerProbe Element.

LoadBalancerProbe Element

Element LoadBalancerProbe definuje sondu stavu pro model. Můžete definovat několik sond nástroje pro vyrovnávání zatížení.

Následující tabulka popisuje atributy elementu LoadBalancerProbe :

Atribut Typ Popis
name string Požadováno. Název sondy nástroje pro vyrovnávání zatížení. Název musí být jedinečný.
protocol string Povinný: Určuje protokol koncového bodu. Možné hodnoty jsou http nebo tcp. Pokud tcp je zadáno, vyžaduje se přijatý ACK, aby sonda proběhla úspěšně. Pokud http je zadána odpověď 200 OK ze zadaného identifikátoru URI, aby sonda proběhla úspěšně.
path string Identifikátor URI použitý k vyžádání stavu virtuálního počítače. path je-li protocol nastavena na httphodnotu . Jinak není povolená.

Neexistuje žádná výchozí hodnota.
port integer Nepovinné. Port pro komunikaci sondy. Tento atribut je volitelný pro libovolný koncový bod, protože pro sondu se používá stejný port. Můžete také nakonfigurovat jiný port pro jejich zkoumání. Možné hodnoty jsou v rozsahu od 1 do 65535 včetně.

Výchozí hodnota nastavená koncovým bodem.
intervalInSeconds integer Nepovinné. Interval v sekundách, jak často se má koncový bod testovat pro stav. Interval je obvykle o něco menší než polovina přiděleného časového limitu (v sekundách), což umožňuje dvě úplné sondy před odebráním instance mimo rotaci.

Výchozí hodnota je 15. Minimální hodnota je 5.
timeoutInSeconds integer Nepovinné. Doba časového limitu v sekundách použitá na sondu, kde žádná odpověď nemá za následek zastavení dalšího provozu z doručení do koncového bodu. Tato hodnota umožňuje, aby se koncové body vyřídily rychleji nebo pomaleji než obvyklé doby používané v Azure (což jsou výchozí hodnoty).

Výchozí hodnota je 31. Minimální hodnota je 11.

Viz také

Schéma definice cloudové služby (Classic)