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


Service Mesh kommunikációs infrastruktúra

Jótanács

Ez a tartalom a „Az Azure-hoz készült natív felhőalapú .NET-alkalmazások tervezése” című eBookból egy részlet, amely elérhető a .NET Docs oldalán, vagy ingyenesen letölthető PDF fájlként, amely offline módban is olvasható.

Azure-szolgáltatásban futó Cloud Native .NET-alkalmazások ebook borítójának miniatűrje.

Ebben a fejezetben áttekintettük a mikroszolgáltatás-kommunikáció kihívásait. Azt mondtuk, hogy a fejlesztői csapatoknak érzékenynek kell lenniük arra, hogy a háttérszolgáltatások hogyan kommunikálnak egymással. Ideális esetben minél kevesebb a szolgáltatásközi kommunikáció, annál jobb. Az elkerülés azonban nem mindig lehetséges, mivel a háttérszolgáltatások gyakran támaszkodnak egymásra a műveletek elvégzéséhez.

A szinkron HTTP-kommunikáció és az aszinkron üzenetkezelés implementálásának különböző megközelítéseit ismertettük. Minden esetben a fejlesztőt terheli a kommunikációs kód implementálása. A kommunikációs kód összetett és időigényes. A helytelen döntések jelentős teljesítményproblémákhoz vezethetnek.

A mikroszolgáltatások kommunikációjának modernebb megközelítése egy új és gyorsan fejlődő technológián, a Service Mesh-en alapul. A szolgáltatásháló egy konfigurálható infrastruktúraréteg, amely beépített képességekkel rendelkezik a szolgáltatásközi kommunikáció, a rugalmasság és számos átfogó szempont kezelésére. A felelősséget ezekért a problémákért kiveszi a mikroszolgáltatásokból, és áthelyezi a szolgáltatásháló-rétegbe. A kommunikáció elvont a mikroszolgáltatásoktól.

A szolgáltatásháló kulcsösszetevője a proxy. A natív felhőbeli alkalmazásokban a proxy egy példánya általában az egyes mikroszolgáltatásokhoz van társítva. Bár külön folyamatokban hajtják végre őket, a kettő szorosan össze van kapcsolva, és ugyanazzal az életciklussal rendelkeznek. Ez a minta, amelyet más néven Oldalkocsi mintának nevezünk, a 4-24. ábrán látható.

Szolgáltatásháló oldalkocsival

4–24. ábra. Szolgáltatásháló oldalkocsival

Az előző ábrán látható, hogy az egyes mikroszolgáltatások mellett futó proxy hogyan rögzíti az üzeneteket. Minden proxy konfigurálható a mikroszolgáltatásra vonatkozó forgalmi szabályokkal. Megérti az üzeneteket, és át tudja irányítani őket a szolgáltatásokon és a külvilágon.

A szolgáltatásközi kommunikáció kezelése mellett a Service Mesh támogatja a szolgáltatásfelderítést és a terheléselosztást.

A konfigurálás után a szolgáltatásháló rendkívül működőképes. A háló lekéri a megfelelő példánykészletet egy szolgáltatásfelderítési végpontról. Kérést küld egy adott szolgáltatáspéldánynak, rögzítve az eredmény késését és választípusát. Kiválasztja azt a példányt, amely valószínűleg gyors választ ad vissza különböző tényezők alapján, beleértve a legutóbbi kérések megfigyelt késését is.

A szolgáltatási háló az alkalmazás szintjén kezeli a forgalommal, a kommunikációval és a hálózatkezeléssel kapcsolatos problémákat. Megérti az üzeneteket és a kéréseket. A szolgáltatáshálók általában egy tárolóvezénylővel integrálhatók. A Kubernetes olyan bővíthető architektúrát támogat, amelyben szolgáltatáshálót lehet hozzáadni.

A 6. fejezetben részletesen bemutatjuk a Service Mesh-technológiákat, beleértve az architektúrával és a rendelkezésre álló nyílt forráskódú implementációkkal kapcsolatos vitaanyagot.

Összefoglalás

Ebben a fejezetben a natív felhőbeli kommunikációs mintákat tárgyaltuk. Elsőként azt vizsgáltuk meg, hogyan kommunikálnak az előtérbeli ügyfelek a háttérbeli mikroszolgáltatásokkal. Az út során az API Gateway-platformokról és a valós idejű kommunikációról beszéltünk. Ezután megvizsgáltuk, hogyan kommunikálnak a mikroszolgáltatások más háttérszolgáltatásokkal. Megvizsgáltuk a szinkron HTTP-kommunikációt és az aszinkron üzenetküldést a szolgáltatások között. Bemutattuk a gRPC-t, a felhőalapú natív világ közelgő technológiájának használatát. Végül bevezettünk egy új, gyorsan fejlődő, Service Mesh nevű technológiát, amely egyszerűsíti a mikroszolgáltatás-kommunikációt.

Különös hangsúlyt fektettek a felügyelt Azure-szolgáltatásokra, amelyek segíthetnek a natív felhőbeli rendszerek kommunikációjának megvalósításában:

A következő lépés az elosztott adatok natív felhőbeli rendszerekben való használata, valamint az azokkal járó előnyök és kihívások.

Hivatkozások