Amikor a rendszer növekszik, a forgalom növekszik, egyre több felhasználó használja termékeit, a szerverek lassabban reagálnak, a leállások miatt vállalkozása szenvedni fog, majd elkezd gondolkodni a méretezésen.
A méretezésnek két elsődleges stratégiája van – függőleges és vízszintes.
A függőleges méretezés célja a rendszer teljesítményének növelése azáltal, hogy általában több CPU-t és RAM-ot ad a szerverekhez.
Ezzel szemben a vízszintes méretezés a szerverek megkettőzésére (vagy klónozására) összpontosít az erőforrások készletében.
Ezekről bővebben:
Függőleges méretezés
A függőleges méretezés a legjobb megoldás egy kis forgalmú rendszerhez, mert ez a legkönnyebben elérhető módszer a növekedés kezeléséhez anélkül, hogy további bonyolultságot okozna. Nem kell törődnie az erőforrások egy csoportjára vonatkozó stratégiák telepítésével, az erőforráskészlet rugalmasságával, a kiszolgáló állapottalanságával, az elosztott gyorsítótárral és így tovább.
A függőleges méretezésnek azonban komoly hátrányai vannak
- Hardverkorlát, mivel lehetetlen a végtelenségig erőforrásokat hozzáadni
- A feladatátvétel és a redundancia hiánya növeli a hosszabb állásidő és adatvesztés kockázatát
Vízszintes méretezés
A vízszintes méretezés kiküszöböli ezeket a problémákat az alkalmazáskiszolgálók klónozásával és olyan összetevők beágyazásával, mint például a terheléselosztó .
A terheléselosztó speciális algoritmusok segítségével osztja el a forgalmat a szervereken, például:
Körmérkőzés Súlyozott körmérkőzés - IP hash alapú megközelítések
- A legkevesebb csatlakozási mód
- Legkisebb súlyozott csatlakozási mód
- A legkevesebb válasz módszere és még sokan mások.
Ennek ellenére számos hátránya van:
- A szervereknek hontalannak kell lenniük
- A munkameneteket egy központi adattárban kell fenntartani
- Bonyolultabb
stratégiák bevezetése szükséges lehet - A terheléselosztó a teljesítmény szűk keresztmetszetévé válhat, ha rosszul van konfigurálva, és az erőforrások nem elegendőek
- Ez további összetettséget hoz a rendszerbe, és lehetséges egyetlen hibapont, amely feladatátvételi stratégiákat igényel.
L4 / L7 Terheléselosztók
Ahhoz, hogy az interneten két eszköz kommunikálhasson egymással, az alapul szolgáló rendszereknek meghatározott protokollokat kell követniük. Mindenki hallott az OSI modellről, amely hét réteget ír le, amelyeket a számítógépes rendszerek a hálózaton keresztüli kommunikációhoz használnak. Bár a modern internet egy egyszerűbb TCP/IP protokollverem modellen alapul, az OSI modellt széles körben használják, mivel segít a hálózatok működésének vizualizálásában és kommunikációjában, valamint segít a hálózati problémák elkülönítésében és hibaelhárításában.
A legtöbb ipari terheléselosztási megoldás az L4 és L7 kifejezéseket használja, ahol az L4 az OSI modellben a szállítási rétegre, az L7 pedig az alkalmazási rétegre utal.
Az L4 terheléselosztó továbbra is L2/L3, mivel az alsóbb rétegekből származó adatokat, például IP-címet és portszámot használ.
Az L4 terheléselosztó fő előnyei
Biztonságosabb és hatékonyabb, mivel az adattartalmat nem veszik figyelembe az útválasztási döntések során
Ugyanaz a TCP-kapcsolat működik a kliens és a szerver között, ami segít megelőzni a terheléselosztón elérhető TCP-kapcsolatok korlátjának túllépését.
Az L4 terheléselosztó fő hátrányai
- Az intelligens útválasztás lehetetlen, mivel a tartalom nem dekódolódik
- Az állapotalapú protokoll további bonyolultságot hoz
- Leképezés nyilvános és privát címek között
- Nincs gyorsítótár, mivel a tartalom ezen a szinten nem érhető el
- Nem használható mikroszolgáltatási architektúrához, mivel a forgalom átirányítása nem érhető el az URL elérési útja alapján
Másrészt az L7 terheléselosztó alkalmazási szinten működik az OSI modellben
Az L7 terheléselosztó fő előnyei
Okos döntések hozhatók az URL elérési útja, a fejlécek és a tartalom alapján
Gyorsítótárazás
Az L7 terheléselosztó fő hátrányai
- További többletterhelés a két TCP-kapcsolat fenntartása miatt, az egyik az ügyfél és a terheléselosztó, a másik a terheléselosztó és a szerver között. Ezenkívül figyelembe kell venni a terheléselosztó TCP kapcsolati korlátját
- Kevésbé biztonságos, mivel a terheléselosztónak ismernie kell a tanúsítványokat az adatok visszafejtéséhez és az útválasztási döntések meghozatalához
Következtetés
A terheléselosztó létfontosságú elem, amikor vízszintes skálázást alkalmaznak a nagy forgalmú rendszerek kezelésére. Az L4 és L7 terheléselosztóknak két fő típusa van.
Az L4 terheléselosztó sokkal biztonságosabb és hatékonyabb az okos döntések meghozatalának korlátai miatt
Az L7 terheléselosztó olyan módon működik, hogy intelligens útválasztási döntéseket hozzon a hatékonyság és a biztonság költségeinek köszönhetően
A megfelelő típus kiválasztása a rendszerkövetelményektől függ, és alaposan meg kell fontolni a biztonsági elvek alkalmazása és a teljesítmény szűk keresztmetszetek kiküszöbölése között.
Itt is megjelent .