Upravit

Sdílet prostřednictvím


Možnosti vyrovnávání zatížení

Azure Load Balancer
Azure Front Door
Azure Application Gateway
Azure Traffic Manager

Termín vyrovnávání zatížení označuje distribuci úloh napříč několika výpočetními prostředky. Vyrovnávání zatížení má za cíl optimalizovat využití prostředků, maximalizovat propustnost, minimalizovat dobu odezvy a vyhnout se přetížení jednoho prostředku. 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 napříč několika výpočetními prostředky. Mezi tyto prostředky patří Aplikace Azure lication Gateway, Azure Front Door, Azure Load Balancer a Azure Traffic Manager.

Tento článek popisuje některé aspekty určení vhodného řešení vyrovnávání zatížení pro potřeby vaší úlohy.

Kategorizace služeb

Služby vyrovnávání zatížení Azure je možné kategorizovat ve dvou dimenzích: globální a regionální a HTTP(S) versus jiné než HTTP(S).

Global vs. regional

  • Globální: Tyto služby vyrovnávání zatížení distribuují provoz mezi regionální back-endy, cloudy nebo hybridní místní služby. Tyto služby podporují správu jedné řídicí roviny zodpovědné za globální směrování provozu koncových uživatelů do dostupného back-endu. Často reagují na změny spolehlivosti nebo výkonu služby, aby maximalizovaly dostupnost a výkon. Můžete si je představit jako systémy, které vyrovnává zatížení mezi razítky aplikací, koncovými body nebo jednotkami škálování hostovanými v různých oblastech nebo geografický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) vs. non-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 určené pro webové aplikace nebo jiné koncové body HTTP(S). Můžou mít funkce, jako je přesměrování zpracování SSL, firewall webových aplikací, vyrovnávání zatížení na základě cest a spřažení relací.
  • Jiné služby než HTTP: Tyto služby vyrovnávání zatížení jsou nástroje pro vyrovnávání zatížení vrstvy 4 , které můžou zpracovávat přenosy mimo protokol HTTP, především služby TCP nebo UDP.

Následující tabulka shrnuje služby vyrovnávání zatížení Azure.

Služba Globální/regionální Doporučený provoz
Azure Front Door Globální HTTP(S)
Azure Traffic Manager Globální Jiné než HTTP
Azure Application Gateway Regionální HTTP(S)
Azure Load Balancer Regionální nebo globální Jiné než HTTP

Poznámka:

Azure Traffic Manager a Azure Load Balancer mají možnosti distribuce provozu HTTP(S), ale nemají žádné specifické funkce pro směrování na základě informací o datových jednotkách protokolu vyšší než vrstva 4. Oba podporují provoz HTTP(S), ale pouze na úrovních funkčnosti vrstvy 4.

Služby vyrovnávání zatížení Azure

Tady jsou hlavní služby vyrovnávání zatížení, které jsou aktuálně k dispozici v Azure:

  • Azure Front Door je síť pro doručování aplikací, která poskytuje globální vyrovnávání zatížení a službu zrychlení webu pro webové aplikace. Nabízí možnosti vrstvy 7 pro vaši aplikaci, jako je přesměrování zpracování SSL, směrování založené na cestě, rychlé převzetí služeb při selhání a ukládání do mezipaměti, aby se zlepšil výkon a vysoká dostupnost vašich aplikací.

  • Traffic Manager je nástroj pro vyrovnávání zatížení provozu založený na DNS, který umožňuje optimálně distribuovat provoz do služeb napříč globálními oblastmi Azure a zároveň zajistit 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 služby při selhání tak rychle jako Azure Front Door, protože běžné problémy související s ukládáním do mezipaměti DNS a systémy nedotkávají seznamy TTL DNS.

  • Application Gateway poskytuje kontroler doručování aplikací jako službu, která nabízí různé možnosti vyrovnávání zatížení vrstvy 7 a funkce firewallu webových aplikací. Použijte ho k přechodu z veřejného síťového prostoru na webové servery hostované v privátním síťovém prostoru v rámci oblasti.

  • Load Balancer je vysoce výkonná služba vyrovnávání zatížení vrstvy 4 (příchozí a odchozí) pro všechny protokoly UDP a TCP. 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í a zajišťuje vysokou dostupnost napříč zónami dostupnosti. Podporuje topologii místního nasazení i topologii mezi oblastmi.

Poznámka:

Technologie clusteringu, jako je Azure Container Apps nebo Azure Kubernetes Service, obsahuje konstrukty vyrovnávání zatížení, které pracují převážně v rozsahu jejich vlastních hranic clusteru, směrování provozu do dostupných instancí aplikací na základě připravenosti a sond stavu. Tyto možnosti vyrovnávání zatížení nejsou popsané v tomto článku.

Rozhodovací strom pro vyrovnávání zatížení v Azure

Při výběru řešení vyrovnávání zatížení zvažte tyto faktory:

  • Typ provozu: Jedná se o webovou aplikaci HTTP? Je veřejná nebo soukromá aplikace?
  • Globální vs. regionální: Potřebujete vyrovnávat zatížení virtuálních počítačů nebo kontejnerů v rámci jedné virtuální sítě, nebo vyrovnávat zatížení jednotky/nasazení škálování napříč oblastmi nebo obojí?
  • Dostupnost: Jaká je smlouva o úrovni služeb?
  • Náklady: Další informace najdete v tématu Ceny Azure. Mimo náklady na samotnou službu zvažte i provozní náklady při správě řešení založeného na této službě.
  • Funkce a omezení: Jaké možnosti jsou podporovány u každé služby a jaké jsou limity služby jednotlivých služeb?

! [TIP] Azure Portal nabízí průvodce založený na dotazníku podobný následujícímu vývojovému diagramu. Na webu Azure Portal vyhledejte "Vyrovnávání zatížení – pomozte mi vybrat". Zodpovězením otázek můžete zúžit možnosti vyrovnávání zatížení.

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í.

Tento vývojový diagram považujeme za výchozí bod. Každá aplikace má jedinečné požadavky, proto použijte doporučení jako 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í, je důležité vyhodnotit každou službu jednotlivě. V mnoha případech efektivní nastavení 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, z nichž každá obsluhuje jedinečnou funkci nebo roli.

Diagram znázorňující rozhodovací strom pro vyrovnávání zatížení v Azure

Definice

  • Webová aplikace (HTTP/HTTPS): To znamená, že vyžaduje schopnost učinit rozhodnutí o směrování pro data vrstvy 7, jako je cesta url, podporovat kontrolu datové části komunikace (například tělo požadavku HTTP) nebo zpracování funkcí PROTOKOLU TLS.

  • Internetová aplikace: Aplikace, které jsou 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 firewall webových aplikací a ochrana před útoky DDoS.

  • Globální nebo nasazené ve více oblastech: Pokud by tento nástroj pro vyrovnávání zatížení měl mít jednu, vysoce dostupnou řídicí rovinu, která je zodpovědná za směrování provozu do veřejných koncových bodů ve vaší globálně distribuované aplikaci. Může to být podpora topologií aktivní-aktivní nebo aktivní-pasivní napříč oblastmi.

    Poznámka:

    K vyrovnávání zatížení mezi back-endy, které pokrývají více oblastí, a řídit směrování prostřednictvím jedné řídicí roviny, je možné použít regionální službu, jako je služba Application Gateway. Tato architektura je možná pomocí služby Private Link 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ář ale není primárním bodem tohoto rozhodnutí.

    Použití regionálního prostředku jako směrovače pro globálně distribuované back-endy představuje oblastní kritický bod selhání a způsobuje další latenci, protože provoz je vynucený přes jednu oblast předtím, než přejde do druhé, a pak znovu.

  • 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 – škálovatelnost.

  • Azure Kubernetes Service (AKS): Umožňuje nasazovat a spravovat kontejnerizované aplikace. AKS poskytuje bezserverovou platformu Kubernetes, integrované prostředí kontinuální integrace a průběžné doručování a zabezpečení a zásady správného řízení na podnikové úrovni. Další informace o prostředcích architektury AKS najdete v tématu Návrh architektury služby Azure Kubernetes Service.

  • Infrastruktura jako služba (IaaS): 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. Například směrování na základě cesty ve virtuální síti napříč virtuálními počítači nebo škálovacími sadami virtuálních počítačů. Další informace najdete v tématu Kdy bychom měli nasadit službu Application Gateway za Azure Front Door?.

  • Zrychlení výkonu: Odkazuje na funkce, které urychlují přístup k webu. Zrychlení výkonu lze dosáhnout pomocí sítí pro doručování obsahu (CDN) nebo optimalizovaného bodu přítomnosti pro akcelerované připojení klientů do cílové sítě. Azure Front Door podporuje jak sítě CDN, tak akceleraci provozu anycast. Výhody obou funkcí je možné v architektuře získat se službou Application Gateway nebo bez této architektury.

Další důležité informace

Každá služba vyrovnávání zatížení má také podporu schopností nebo podrobnosti implementace, které je potřeba zvážit. Tady je několik příkladů, které můžou být relevantní pro váš scénář vyrovnávání zatížení.

  • Podpora webových soketů
  • Podpora HTTP/2 (příjem a pokračování v back-endových uzlech)
  • Podpora relace Sticky
  • Mechanismus monitorování stavu back-endového uzlu
  • Prostředí klienta nebo zpoždění mezi detekcí a odebráním uzlů, které nejsou v pořádku, z logiky směrování

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 jako ř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 cesta k datům přetrvá, dokud jedna zóna v oblasti zůstane v pořádku.
Azure Front Door Sdílení polohy v reálném čase pomocí nízkonákladových bezserverových služeb Azure Azure Front Door umožňuje poskytovat vašim aplikacím vyšší dostupnost než nasazení do jedné oblasti. Pokud oblastní výpadek ovlivní primární oblast, můžete službu Azure Front Door použít k převzetí služeb při selhání sekundární oblasti.
Traffic Manager Vícevrstvé webové aplikace vytvořené pro zajištění vysoké dostupnosti a zotavení 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řevezme služby při selhání sekundární oblasti.
Azure Front Door + Application Gateway Víceklientské SaaS v Azure Použijte víceklientové řešení, které zahrnuje kombinaci služby Azure Front Door a Application Gateway. Azure Front Door pomáhá vyrovnávat zatížení provozu napříč oblastmi. Application Gateway interně směruje a vyrovnává zatížení provozu v aplikaci do různých služeb, které vyhovují obchodním potřebám klienta.
Traffic Manager + Load Balancer Vícevrstvé aplikace s více oblastmi N-vrstvá aplikace s více oblastmi, která používá Traffic Manager ke směrování příchozích požadavků do primární oblasti. Pokud se tato oblast stane nedostupnou, Traffic Manager zajistí převzetí služby při selhání sekundární oblastí.
Traffic Manager + Application Gateway Vyrovnávání zatížení ve více oblastech pomocí Traffic Manageru a služby Application Gateway Naučte se obsluhovat webové úlohy a nasazovat odolné vícevrstvé aplikace ve více oblastech Azure, abyste dosáhli vysoké dostupnosti a robustní infrastruktury zotavení po havárii.

Další kroky