Megosztás a következőn keresztül:


A magánhálózati összekötők és -alkalmazások magas rendelkezésre állása és terheléselosztása

Ez a cikk bemutatja, hogyan működik a forgalomterjesztés az alkalmazásproxy üzembe helyezésével. Megtudhatja, hogyan oszlik el a forgalom a felhasználók és az összekötők között, valamint tippek az összekötők teljesítményének optimalizálásához. Ismerje meg, hogyan folyik a forgalom az összekötők és a háttéralkalmazás-kiszolgálók között, és hogyan lehet terheléselosztást végezni több háttérkiszolgáló között.

Forgalomeloszlás összekötők között

Csatlakozás orok a magas rendelkezésre állás alapelvei alapján hozzák létre kapcsolataikat. Nincs garancia arra, hogy a forgalom egyenletesen oszlik el az összekötők között, és nincs munkamenet-affinitás. A használat azonban eltérő, és a rendszer véletlenszerűen küldi el a kérelmeket az alkalmazásproxy-szolgáltatáspéldányoknak. Ennek eredményeképpen a forgalom általában szinte egyenletesen oszlik el az összekötők között. A diagram és a lépések bemutatják, hogyan jönnek létre kapcsolatok a felhasználók és az összekötők között.

Diagram a felhasználók és összekötők közötti kapcsolatokról

  1. Az ügyféleszközön lévő felhasználók megpróbálnak hozzáférni egy alkalmazásproxyn keresztül közzétett helyszíni alkalmazáshoz.
  2. A kérés egy Azure Load Balanceren keresztül történik annak meghatározásához, hogy melyik alkalmazásproxy-szolgáltatáspéldánynak kell elvégeznie a kérést. Több tíz példány érhető el a régió összes forgalmára vonatkozó kérések elfogadásához. Ez a módszer segít egyenletesen elosztani a forgalmat a szolgáltatáspéldányok között.
  3. A rendszer elküldi a kérést a Service Busnak.
  4. Service Bus-jelek egy elérhető összekötőnek. Az összekötő ezután felveszi a kérést a Service Bustól.
    • A 2. lépésben a kérelmek különböző alkalmazásproxy-szolgáltatáspéldányokra kerülnek, így a kapcsolatok nagyobb valószínűséggel jönnek létre különböző összekötőkkel. Ennek eredményeként a csoporton belül szinte egyenletesen használják az összekötőket.
  5. Az összekötő átadja a kérést az alkalmazás háttérkiszolgálójának. Ezután az alkalmazás visszaküldi a választ az összekötőnek.
  6. Az összekötő úgy fejezi be a választ, hogy megnyit egy kimenő kapcsolatot annak a szolgáltatáspéldánynak, ahonnan a kérés érkezett. Ezután a kapcsolat azonnal bezárul. Alapértelmezés szerint minden összekötő legfeljebb 200 egyidejű kimenő kapcsolatra korlátozódik.
  7. Ezt követően a rendszer visszaküldi a választ az ügyfélnek a szolgáltatáspéldányból.
  8. Az ugyanabból a kapcsolatból érkező további kérések ismételje meg a lépéseket.

Egy alkalmazás gyakran sok erőforrással rendelkezik, és több kapcsolatot nyit meg terhelés alatt. Minden kapcsolat végighalad egy szolgáltatáspéldányhoz való lefoglalás lépésein. Ha a kapcsolat nincs összekötővel párosítva, válasszon egy új elérhető összekötőt.

Ajánlott eljárások az összekötők magas rendelkezésre állásához

  • Mivel a forgalom az összekötők között a magas rendelkezésre állás érdekében oszlik el, elengedhetetlen, hogy mindig legalább két összekötő legyen egy összekötőcsoportban. Három összekötőt előnyben részesítünk, ha extra puffert biztosítunk az összekötők között. A szükséges összekötők számának meghatározásához kövesse a kapacitástervezési dokumentációt.

  • Helyezze az összekötőket különböző kimenő kapcsolatokra, hogy elkerülje az egyetlen meghibásodási pontot. Ha az összekötők ugyanazt a kimenő kapcsolatot használják, a kapcsolattal kapcsolatos hálózati probléma az azt használó összes összekötőre hatással van.

  • Ne kényszerítse az összekötők újraindítását éles alkalmazásokhoz való csatlakozáskor. Ez negatívan befolyásolhatja a forgalom összekötők közötti elosztását. Az összekötők újraindítása miatt több összekötő nem érhető el, és a fennmaradó elérhető összekötőhöz kényszeríti a kapcsolatokat. Az eredmény az összekötők kezdetben egyenetlen használata.

  • Kerülje az összekötők és az Azure közötti kimenő Transport Layer Security (TLS) kommunikáció beágyazott ellenőrzésének minden formáját. Az ilyen típusú beágyazott vizsgálat a kommunikációs folyamat romlását okozza.

  • Győződjön meg arról, hogy az összekötők automatikus frissítései továbbra is futnak. Ha a magánhálózati összekötő updater szolgáltatása fut, az összekötők automatikusan frissülnek, és megkapják a legújabb frissítést. Ha nem látja a Csatlakozás or Updater szolgáltatást a kiszolgálón, újra kell telepítenie az összekötőt a frissítések beszerzéséhez.

Forgalom az összekötők és a háttéralkalmazás-kiszolgálók között

Egy másik kulcsfontosságú terület, ahol a magas rendelkezésre állás az összekötők és a háttérkiszolgálók közötti kapcsolat. Amikor egy alkalmazást a Microsoft Entra alkalmazásproxyn keresztül tesznek közzé, a felhasználóktól az alkalmazások felé irányuló forgalom három ugráson halad át:

  1. A felhasználó csatlakozik a Microsoft Entra alkalmazásproxy szolgáltatás nyilvános végponthoz az Azure-ban. A kapcsolat az ügyfél származó ügyfél IP-címe (nyilvános) és az alkalmazásproxy-végpont IP-címe között jön létre.
  2. A privát hálózati összekötő lekéri az ügyfél HTTP-kérését az alkalmazásproxy szolgáltatásból.
  3. A privát hálózati összekötő csatlakozik a célalkalmazáshoz. Az összekötő saját IP-címét használja a kapcsolat létrehozásához.

Egy alkalmazáshoz alkalmazásproxyn keresztül csatlakozó felhasználó diagramja

Az X-Forwarded-For fejlécmezővel kapcsolatos szempontok

Bizonyos helyzetekben (például naplózás, terheléselosztás stb.) követelmény a külső ügyfél származó IP-címének megosztása a helyszíni környezettel. A követelmény teljesítéséhez a Microsoft Entra privát hálózati összekötő hozzáadja az X-Forwarded-For fejlécmezőt az eredeti ügyfél IP-címével (nyilvános) a HTTP-kérelemhez. Ezután a megfelelő hálózati eszköz (terheléselosztó, tűzfal) vagy a webkiszolgáló vagy háttéralkalmazás elolvashatja és felhasználhatja az információkat.

Ajánlott eljárások a terheléselosztáshoz több alkalmazáskiszolgáló között

A terheléselosztás akkor fontos, ha az alkalmazásproxy-alkalmazáshoz rendelt összekötőcsoport két vagy több összekötőt használ. A terheléselosztás akkor is fontos, ha a háttérbeli webalkalmazást több kiszolgálón futtatja.

1. forgatókönyv: A háttéralkalmazás nem igényel munkamenet-megőrzést

A legegyszerűbb forgatókönyv az, amikor a háttér-webalkalmazás nem igényel munkamenet-ragaszkodást (munkamenet-megőrzést). A háttéralkalmazás-példány kezeli a kiszolgálófarm felhasználói kéréseit. Használhat 4. rétegbeli terheléselosztót, és affinitás nélkül konfigurálhatja. Egyes lehetőségek közé tartozik a Microsoft Hálózati terheléselosztás és az Azure Load Balancer, vagy egy másik szállító terheléselosztója. Másik lehetőségként konfiguráljon egy ciklikus időszeleteléses tartománynévrendszer-(DNS-) stratégiát.

2. forgatókönyv: A háttéralkalmazás munkamenet-megőrzést igényel

Ebben a forgatókönyvben a háttér-webalkalmazás a hitelesített munkamenet során ragadós munkamenetet (munkamenet-megőrzést) igényel. A háttéralkalmazás-példány kezeli a felhasználói kéréseket. A thee-kérelmek ugyanazon a kiszolgálón futnak a kiszolgálófarmban. Ez a forgatókönyv bonyolultabb lehet, mert az ügyfél általában több kapcsolatot létesít az alkalmazásproxy szolgáltatással. A különböző kapcsolatokra irányuló kérések a farm különböző összekötőihez és kiszolgálóihoz érkezhetnek. Mivel minden összekötő a saját IP-címét használja ehhez a kommunikációhoz, a terheléselosztó nem tudja biztosítani a munkamenetek ragadósságát az összekötők IP-címe alapján. A forrás IP-affinitása sem használható. Íme néhány lehetőség a 2. forgatókönyvhöz:

  • 1. lehetőség: A munkamenet-adatmegőrzés alapja a terheléselosztó által beállított munkamenet-cookie. Ez a beállítás azért ajánlott, mert lehetővé teszi a terhelés egyenletesebb eloszlását a háttérkiszolgálók között. 7. rétegbeli terheléselosztót igényel ezzel a képességgel, amely képes kezelni a HTTP-forgalmat, és leállítja a TLS-kapcsolatot. Használhatja Azure-alkalmazás átjárót (munkamenet-affinitást) vagy egy másik szállító terheléselosztóját.

  • 2. lehetőség: Alapozza a munkamenet-adatmegőrzést az X-Forwarded-For fejlécmezőn. Ehhez a beállításhoz egy 7. rétegbeli terheléselosztó szükséges ezzel a képességgel, amely képes kezelni a HTTP-forgalmat, és leállítja a TLS-kapcsolatot.

  • 3. lehetőség: Konfigurálja a háttéralkalmazást úgy, hogy ne igényeljen munkamenet-megőrzést.

A háttéralkalmazás terheléselosztási követelményeinek megismeréséhez tekintse meg a szoftvergyártó dokumentációját.

Következő lépések