Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Termín vyrovnávání zatížení označuje distribuci zpracování napříč několika výpočetními prostředky. Vyrovnávání zatížení za účelem optimalizace využití prostředků, maximalizace propustnosti, minimalizace doby odezvy a zabránění přetížení jednoho prostředku. Vyrovnávání zatížení může také zlepšit dostupnost sdílením úlohy mezi redundantními výpočetními prostředky.
Azure poskytuje různé služby vyrovnávání zatížení, které můžete použít k distribuci úloh mezi několik výpočetních prostředků. Mezi tyto služby patří Azure API Management, Azure Application Gateway, Azure Front Door, Azure Load Balancer a Azure Traffic Manager.
Tento článek popisuje aspekty, které vám pomůžou určit vhodné řešení vyrovnávání zatížení pro potřeby vaší úlohy.
Služby vyrovnávání zatížení Azure
V Azure jsou k dispozici následující hlavní služby vyrovnávání zatížení a služba s možnostmi vyrovnávání zatížení:
API Management je spravovaná služba, kterou můžete použít k publikování, zabezpečení, transformaci, údržbě a monitorování rozhraní API HTTP(S). Poskytuje gateway pro vaše API a lze ji nakonfigurovat tak, aby vyrovnávala zatížení provozu mezi uzly v určeném back-endovém poolu s vyvažováním zátěže. Můžete si vybrat ze tří různých metod vyrovnávání zatížení: kruhové dotazování, vážené a založené na prioritách.
Důležité
API Management není tradiční nástroj pro vyrovnávání zatížení pro obecné účely. Je navržená speciálně pro rozhraní API HTTP a jeho možnosti vyrovnávání zatížení jsou volitelné v rámci širších funkcí služby API Management. Služba API Management je součástí tohoto článku pro úplnost, protože poskytuje možnosti vyrovnávání zatížení pro konkrétní topologie hostování rozhraní API. Jejím primárním účelem je ale funkce brány rozhraní API, nikoli vyrovnávání zatížení.
Application Gateway je nástroj pro vyrovnávání zatížení proxy serveru. Poskytuje funkce kontroleru doručování aplikací jako spravovanou službu. Nabízí různé funkce vyrovnávání zatížení na aplikační vrstvě 7, směrování, odlehčení TLS a firewall webových aplikací (WAF). Jako ukončovací nástroj pro vyrovnávání zatížení také nabízí vyrovnávání zatížení vrstvy 4 pro protokoly TCP a TLS. Pomocí služby Application Gateway můžete převést provoz z veřejného síťového prostoru na webové servery hostované v privátním síťovém prostoru v rámci oblasti.
Application Gateway for Containers je nástroj pro vyrovnávání zatížení aplikační vrstvy (vrstva 7) a produkt pro správu dynamického provozu pro úlohy spuštěné v clusteru Kubernetes.
Azure Front Door je síť pro doručování aplikací, která poskytuje globální vyrovnávání zatížení a akceleraci webu pro webové aplikace. Poskytuje schopnosti vrstvy 7 pro vaši aplikaci, jako je odlehčení SSL (Secure Sockets Layer), směrování na základě cesty, rychlé převzetí funkcí při selhání a ukládání do mezipaměti, což přispívá ke zlepšení výkonu a vysoké dostupnosti.
Load Balancer je služba vrstvy 4, která zpracovává příchozí a odchozí provoz napříč všemi protokoly UDP (User Datagram Protocol) a TCP (Transmission Control Protocol). Je navržená pro vysoký výkon a nízkou latenci. Je sestavená tak, aby zpracovávala miliony požadavků za sekundu a současně zajistila vysokou dostupnost vašeho řešení. Load Balancer je zónově redundantní, což zajišťuje vysokou dostupnost napříč zónami dostupnosti. Podporuje topologii místního nasazení i topologii mezi oblastmi.
Traffic Manager je nástroj pro vyrovnávání zatížení provozu založený na DNS (Domain Name System), který umožňuje optimálně distribuovat provoz do služeb napříč globálními oblastmi Azure a zároveň poskytuje vysokou dostupnost a rychlost odezvy. Vzhledem k tomu, že Traffic Manager je služba vyrovnávání zatížení založená na DNS, vyrovnává zatížení pouze na úrovni domény. Z tohoto důvodu nemůže převzít zátěž tak rychle jako Azure Front Door. Ukládání dns do mezipaměti a systémy, které ignorují hodnoty TTL (Time to Live) DNS, často způsobují toto zpoždění.
Poznámka:
Clusteringové technologie, jako jsou Azure Container Apps nebo Azure Kubernetes Service (AKS), obsahují konstrukce vyrovnávání zatížení. Tyto konstrukce pracují převážně v rozsahu jejich vlastní hranice clusteru. Směrují síťový provoz do dostupných instancí aplikací na základě připravenosti a kontrol stavu. Tento článek se nezabývá všemi těmito možnostmi vyrovnávání zatížení.
Kategorizace služeb
Služby vyrovnávání zatížení Azure je možné kategorizovat ve dvou dimenzích: globální versus regionální a HTTP(S) versus jiné než HTTP(S).
Globální versus regionální
Globální: Tyto služby vyrovnávání zatížení distribuují provoz mezi regionální back-endy, cloudy nebo hybridní místní služby. Poskytují jednu řídicí rovinu, která globálně směruje uživatelský provoz do dostupných back-endů. Tyto služby reagují na změny spolehlivosti nebo výkonu služeb, aby se maximalizovala dostupnost a výkon. Můžete si je představit jako systémy pro vyrovnávání zatížení mezi aplikačními instancemi, koncovými body nebo jednotkami škálování hostovanými v různých oblastech.
Regionální: Tyto služby vyrovnávání zatížení distribuují provoz v rámci virtuálních sítí mezi virtuální počítače nebo zónově redundantní koncové body služby v rámci oblasti. Můžete si je představit jako systémy, které vyrovnává zatížení mezi virtuálními počítači, kontejnery nebo clustery v rámci oblasti ve virtuální síti.
HTTP(S) versus jiné než HTTP(S)
HTTP(S): Tyto služby vyrovnávání zatížení jsou nástroje pro vyrovnávání zatížení vrstvy 7 , které přijímají pouze provoz HTTP(S). Jsou navrženy pro webové aplikace nebo jiné koncové body HTTP/S. Mezi funkce patří odlehčení SSL, WAF, vyrovnávání zatížení na základě cest a přidružení relací.
Jiné než HTTP(S): Tyto služby vyrovnávání zatížení zahrnují služby TCP a UDP vrstvy 4 nebo služby vyrovnávání zatížení založené na DNS.
Následující tabulka shrnuje služby vyrovnávání zatížení Azure.
| Služba | Globální nebo regionální | Doporučený provoz |
|---|---|---|
| API Management | Regionální nebo globální | Pouze rozhraní API HTTP(S) |
| Aplikační brána | Regionální | HTTP(S), TCP, &TLS |
| Aplikační Brána pro Kontejnery | Regionální | HTTP(S) |
| Azure Front Door | Globální | HTTP(S) |
| Load Balancer | Regionální nebo globální | Non-HTTP(S) |
| Správce provozu | Globální | Non-HTTP(S) |
Poznámka:
Traffic Manager a Load Balancer můžou distribuovat libovolný typ provozu, včetně HTTP(S). Tyto služby ale neposkytují možnosti vrstvy 7. Na rozdíl od vyvažovače zatížení Traffic Manager nezpracovává provoz přímo. Traffic Manager pomocí DNS směruje klienty na příslušné koncové body.
Volba řešení vyrovnávání zatížení pro váš scénář
Při výběru řešení vyrovnávání zatížení zvažte následující faktory:
Typ provozu: Určete, jestli se jedná o webovou aplikaci HTTP(S) a jestli je veřejná nebo soukromá aplikace.
Globální versus regionální: Objasněte si, jestli potřebujete vyrovnávat zatížení virtuálních počítačů nebo kontejnerů v rámci jedné virtuální sítě, jednotky vyrovnávání zatížení nebo nasazení napříč oblastmi nebo obojí.
Dostupnost: Zkontrolujte smlouvu o úrovni služeb (SLA).
Náklady: Náklady na samotnou službu a provozní náklady na správu řešení založeného na této službě. Další informace najdete v tématu o cenách Azure.
Funkce a omezení: Identifikujte možnosti podporované jednotlivými službami a příslušné limity služeb.
Následující vývojový diagram vám pomůže zvolit řešení vyrovnávání zatížení pro vaši aplikaci. Vývojový diagram vás provede sadou klíčových rozhodovacích kritérií pro dosažení doporučení.
Tip
Azure Copilot vám může pomoct s tímto rozhodnutím, podobně jako v vývojovém diagramu popsaném tady. Další informace najdete v tématu Práce se službou Azure Load Balancer pomocí Microsoft Azure Copilotu.
Každá aplikace má jedinečné požadavky, které nejsou zachyceny v jednoduchých rozhodovacích stromech. Tokový diagram nebo doporučení copilotu považujte za výchozí bod. Pak proveďte podrobnější vyhodnocení.
Pokud vaše úloha zahrnuje několik služeb, které vyžadují vyrovnávání zatížení, vyhodnoťte jednotlivé služby jednotlivě. Efektivní nastavení často používá více než jeden typ řešení vyrovnávání zatížení. Tato řešení můžete začlenit na různých místech v architektuře vaší úlohy, aby sloužila jedinečným funkcím nebo rolím.
Definice
Webová aplikace (HTTP/HTTPS) odkazuje na aplikaci, která vyžaduje alespoň jednu z následujících funkcí:
- Provede rozhodnutí o směrování pro data vrstvy 7, jako je například cesta url.
- Podporuje kontrolu datové části komunikace, například tělo požadavku HTTP.
- Zpracovává funkce TLS (Transport Layer Security)
Aplikace bez protokolu HTTP odkazuje na aplikaci, která potřebuje podporu protokolu TCP nebo UDP (Layer 4) nebo protokolu TLS (Transport Layer Security). Azure Load Balancer i Azure Application Gateway poskytují možnosti pro zpracování takového provozu. Jejich funkce a chování se ale liší, jak je popsáno v tomto článku o porovnání.
Internetová aplikace odkazuje na aplikaci, která je veřejně přístupná z internetu. Jako osvědčený postup používají vlastníci aplikací omezující zásady přístupu nebo aplikaci chrání nastavením nabídek, jako je WAF a distribuovaná ochrana před dostupností služby.
Globální nebo nasazené v několika oblastech znamená, že nástroj pro vyrovnávání zatížení by měl mít jednu, vysoce dostupnou řídicí rovinu, která směruje provoz do veřejných koncových bodů ve vaší globálně distribuované aplikaci. Tato konfigurace může podporovat topologie aktivní-aktivní nebo aktivní-pasivní napříč oblastmi.
Poznámka:
K vyrovnávání zatížení mezi back-endy, které zahrnují více oblastí a řízení směrování přes jednu řídicí rovinu, můžete použít regionální službu, jako je služba Application Gateway. Funguje s využitím privátního propojení mezi oblastmi, globálního partnerského vztahu virtuálních sítí nebo dokonce veřejných IP adres služeb v jiných oblastech.
Tento scénář není primárním bodem tohoto rozhodnutí.
Použití regionálního prostředku jako směrovače pro globálně distribuované back-end systémy představuje regionální kritický bod selhání. Dochází k další latenci, protože provoz je směrován přes jednu oblast, než přejde do jiné, a poté se vrátí zpět.
Platforma jako služba (PaaS) poskytuje spravované hostitelské prostředí, ve kterém můžete nasadit aplikaci bez nutnosti spravovat virtuální počítače nebo síťové prostředky. V tomto případě PaaS odkazuje na služby, které poskytují integrované vyrovnávání zatížení v rámci oblasti. Další informace najdete v tématu Volba výpočetní služby pro zajištění škálovatelnosti.
AKS umožňuje nasazovat a spravovat kontejnerizované aplikace. AKS poskytuje bezserverové prostředí Kubernetes, integrované prostředí kontinuální integrace a průběžného doručování (CI/CD) a zabezpečení a zásady správného řízení na podnikové úrovni. Tyto úlohy AKS se označují jako backendy AKS. Další informace najdete v tématu Návrh architektury AKS.
Infrastruktura jako služba (IaaS) je výpočetní možnost, ve které zřídíte virtuální počítače, které potřebujete, spolu s přidruženými komponentami sítě a úložiště. Aplikace IaaS vyžadují interní vyrovnávání zatížení ve virtuální síti pomocí Load Balanceru.
Zpracování aplikační vrstvy odkazuje na zvláštní směrování ve virtuální síti. Mezi příklady patří směrování na základě cest mezi virtuálními počítači nebo škálovacími sadami virtuálních počítačů. Další informace najdete v tématu Nasazení služby Application Gateway za Azure Front Door.
Pouze rozhraní API odkazuje na nutnost vyrovnávat zatížení u rozhraní HTTP(S) API, která nejsou webovými aplikacemi. Pokud vaše úloha už pro své funkcionality brány používá API Management, můžete zvážit jeho volitelnou funkci vyrovnávání zátěže pro směrování provozu mezi back-endy API, které ještě nejsou vyváženy prostřednictvím jiného mechanismu. Pokud vaše úloha nepoužívá službu API Management, nepoužívejte ji výhradně pro vyrovnávání zatížení.
Síť pro doručování obsahu (CDN) odkazuje na funkci, která urychluje načítání webových stránek prostřednictvím své geograficky distribuované sítě serverů. CDN umožňuje zrychlení výkonu nebo optimalizovaný vstupní bod připojení pro urychlené připojení klientů do cílové sítě. Azure Front Door je síť pro doručování obsahu a podporuje také zrychlení provozu. Výhody obou funkcí můžete získat s Application Gateway v architektuře, nebo bez něj.
Průchozí vyrovnávač zatížení je vyrovnávač zatížení, kde klient přímo naváže spojení s back-endovým serverem, který byl vybrán distribučním algoritmem vyrovnávače zatížení.
Ukončení nástroje pro vyrovnávání zatížení je místo, kde klient vytvoří připojení k nástroji pro vyrovnávání zatížení (proxy server) a zahájí se samostatné připojení z nástroje pro vyrovnávání zatížení k back-endovému serveru.
Ostatní úvahy
Každá služba vyrovnávání zatížení má také možnosti podpory nebo podrobnosti implementace, které byste měli zvážit. Tady je několik příkladů, které můžou být relevantní pro váš scénář vyrovnávání zatížení:
- Podpora pro WebSockets
- Podpora událostí odeslaných serverem
- Podpora PROTOKOLU HTTP/2 (příjem a pokračování v back-endových uzlech)
- Podpora relace Sticky
- Mechanismus monitorování stavu back-endového uzlu
- Zkušenost klienta nebo zpoždění mezi detekcí a odebráním vadného uzlu ze směrovací logiky
Přenesení zátěže na váš nástroj pro vyrovnávání zatížení
Některé možnosti vyrovnávání zatížení v Azure umožňují přesměrovat možnosti z back-endových uzlů do nástroje pro vyrovnávání zatížení. Tyto možnosti implementují model návrhu cloudového odlehčení brány. Služba Application Gateway může například přenést zátěž protokolu TLS, takže se zveřejňovaný certifikát vaší úlohy spravuje v jednom umístění místo mezi uzly back-endu. Službu API Management je možné nakonfigurovat tak, aby přesměrovala některé základní aspekty autorizace, jako je ověřování deklarací identity v přístupových tokenech JSON Web Token (JWT). Přenesení průřezových funkcí může pomoct snížit složitost logiky ve vašich back-endech a zlepšit jejich výkon.
Příklady
Následující tabulka uvádí různé články založené na službách vyrovnávání zatížení používaných v řešení.
| Služby | Článek | Popis |
|---|---|---|
| Load Balancer | Vyrovnávání zatížení virtuálních počítačů napříč zónami dostupnosti | Vyrovnávání zatížení virtuálních počítačů napříč zónami dostupnosti pomáhá chránit vaše aplikace a data před nepravděpodobným selháním nebo ztrátou celého datacentra. S redundancí zóny může jedna nebo více zón dostupnosti selhat a datová cesta přetrvá, pokud alespoň jedna zóna v oblasti zůstává funkční. |
| Správce provozu | Vícevrstvá webová aplikace vytvořená pro zajištění vysoké dostupnosti a obnovení po havárii | Nasaďte odolné vícevrstvé aplikace vytvořené pro zajištění vysoké dostupnosti a zotavení po havárii. Pokud primární oblast přestane být dostupná, Traffic Manager přepne na sekundární oblast. |
| Brána aplikace a Správa API | Architektura cílové zóny služby API Management | Pomocí služby Application Gateway odlehčete WAF a TLS. Pomocí služby API Management můžete vyrovnávat zatížení mezi back-endy rozhraní API. |
| Traffic Manager a Application Gateway | Vyrovnávání zatížení ve více oblastech pomocí Traffic Manageru a služby Application Gateway | Nasaďte odolné vícevrstvé aplikace ve více oblastech Azure s kontrolou vrstveného provozu prostřednictvím WAF i brány Azure Firewall pro protokoly HTTP(S) i jiné protokoly než HTTP(S). |
Další kroky
- Vytvoření veřejného nástroje pro vyrovnávání zatížení pro vyrovnávání zatížení virtuálních počítačů
- Směrování webového provozu se službou Application Gateway
- Konfigurace Traffic Manageru pro globální vyrovnávání zatížení založeného na DNS
- Konfigurace služby Azure Front Door pro vysoce dostupnou globální webovou aplikaci