Monolitikus alkalmazás teljesítménykorlátai

Befejeződött

Sokféle okból dönthet egy rendszer architektúrájának megváltoztatása mellett. Az üzemeltetési rugalmasság, a költség és a teljesítmény csak néhány a rendszer architektúrájának meghatározásában szerepet játszó tényezők közül. Példánkban közelebbről is megnézzük, hogyan válik a teljesítmény a drónkézbesítési rendszer tényezőivé.

A Fabrikam drónkézbeszállítási üzletág növekedésével a rendszer terhelése nő. A jelenlegi architektúra nehezen bírja a terhelést. A Fabrikamnél szeretnének nagyobb rugalmasságot elérni az alkalmazás skálázásához, amelyet a jelenlegi monolitikus architektúra nem biztosít. Az alkalmazás skálázhatóságának javítása az egyik fő indoka annak, hogy a Fabrikam mikroszolgáltatás-architektúrára szeretné átállítani az alkalmazást.

Monolith és mikroszolgáltatások skálázása

A mikroszolgáltatás-architektúra egyik fő előnye a több skálázási lehetőség. Mivel a szolgáltatások külön vannak elválasztva, egyszerűbb az egyes szolgáltatások egyenként skálázása, ahogy a terhelés növekszik rajtuk.

Ezt a képességbeli különbséget láthatjuk a drónos szállítási rendszeren. A monolitikus architektúrában az összes szolgáltatást az alkalmazás egyetlen példánya tartalmazza. Az ügyfelek számára egy API-felületet tesznek elérhetővé, amelyen beküldhetik és kezelhetik a szállítási kéréseket. Az ügyfelek kéréseinek növekedésével a rendszer terhelése is növekszik. A felhasználói élmény negatív hatásának elkerülése érdekében további erőforrásokat kell lefoglalni a rendszerhez.

Monolitikus architektúrában ennek a szolgáltatásnak a skálázásához a többi szolgáltatás erőforrásait is skálázni kell, mivel azokat is minden alkalmazáspéldány tartalmazza. Ez az elrendezés nem hatékony, mert a többi szolgáltatás terhelése minimális lehet, és nem igényel további erőforrás-kihasználtságot.

Mivel a mikroszolgáltatás-architektúrában a szolgáltatások el vannak különítve, az API-t a többi szolgáltatástól függetlenül méretezhetjük. Ezzel a kialakítással javul a hatékonyság, ugyanis a szükségtelen szolgáltatásokhoz nem kell erőforrásokat felhasználni.

A Drone Delivery monolitikus architektúrából adódó problémák

A csomagküldő szolgáltatást az üzlet kritikus fontosságú részének nyilvánították, és eredetileg a monolit része volt. Az ügyfelek jelentősen növelik a rá való támaszkodásukat, és a terhelés növekedése negatívan befolyásolja a teljesítményt. Ennek a helyzetnek a megoldására a Fabrikam dedikált egy fejlesztői csapatot, amely teljes körűen felügyeli ezt a vállalkozást. A csapat azt tervezi, hogy fejleszti és iterálja ezt a szolgáltatást, és kizárólag a csomagszolgáltatás minden aspektusáért felelős.

Mivel a csomagküldő szolgáltatás a monolit része, a csapat nem dolgozhat önállóan. Megosztott adatokra és adatstruktúrákra kell támaszkodniuk. Emellett az iterálást sem tudják elég gyorsan elvégezni. A teljesítménnyel és a skálázhatósággal kapcsolatos problémák miatt ezt a szolgáltatást az elsődlegesen mikroszolgáltatássá alakítandók közé sorolták.

Vizsgáljuk meg alaposabban, hogyan elemezheti és bonthatja le a Fabrikam az alkalmazást, hogy kihasználhassa a mikroszolgáltatás-architektúrát.