Ikreiz, kad jūsu sistēma aug, palielinās trafika, arvien vairāk lietotāju izmanto jūsu produktus, serveri sāk reaģēt lēnāk, dīkstāves dēļ jūsu bizness ir jācieš, un jūs sākat domāt par mērogošanu.
Ir divas galvenās mērogošanas stratēģijas - vertikālā un horizontālā.
Vertikālā mērogošana ir paredzēta, lai palielinātu sistēmas jaudu, parasti pievienojot vairāk CPU un RAM jūsu serveriem.
Turpretim horizontālā mērogošana koncentrējas uz jūsu serveru dublēšanu (vai klonēšanu) resursu baseinā.
Vairāk par šiem:
Vertikālā mērogošana
Vertikālā mērogošana ir labākais risinājums sistēmai ar zemu trafiku, jo tā ir vispieejamākā pieeja izaugsmei, neradot papildu sarežģītību. Jums nav jārūpējas par stratēģiju izvietošanu resursu grupai, resursu kopuma elastību, servera bezpavalstniecību, izplatīto kešatmiņu un tā tālāk.
Tomēr vertikālajai mērogošanai ir nopietni trūkumi
- Aparatūras ierobežojums, jo nav iespējams bezgalīgi pievienot resursus
- Kļūmjpārlēces un dublēšanas trūkums palielina ilgstošas dīkstāves un datu zuduma risku
Horizontālā mērogošana
Horizontālā mērogošana novērš šīs problēmas, klonējot lietojumprogrammu serverus un ieguljot komponentu, piemēram, slodzes līdzsvarotāju .
Slodzes līdzsvarotājs sadala trafiku jūsu serveros, izmantojot īpašus algoritmus, piemēram:
Apļa cīņa Nosvērts aplis - Uz IP hash balstītas pieejas
- Mazākā savienojuma metode
- Vismazāk svērtā savienojuma metode
- Vismazāk atbildes metode un daudzas citas.
Tomēr tai ir vairāki trūkumi:
- Serveriem ir jābūt bezvalstniekiem
- Sesijas ir jāuztur centralizētā datu krātuvē
- Sarežģītāk
izvietojot stratēģijas var būt nepieciešama - Slodzes līdzsvarotājs var kļūt par veiktspējas vājo vietu, ja tas ir nepareizi konfigurēts un nepietiek resursu
- Tas rada papildu sarežģītību sistēmai un ir potenciāls vienots atteices punkts, kam ir jāpiemēro kļūmjpārlēces stratēģijas.
L4 / L7 Slodzes balansētāji
Lai divas ierīces internetā varētu sazināties viena ar otru, pamatā esošajām sistēmām ir jāievēro noteikti protokoli. Ikviens ir dzirdējis par OSI modeli, kas apraksta septiņus slāņus, ko datorsistēmas izmanto, lai sazinātos tīklā. Lai gan mūsdienu interneta pamatā ir vienkāršāks TCP/IP protokolu steka modelis, OSI modelis tiek plaši izmantots, jo tas palīdz vizualizēt un sazināties, kā tīkli darbojas, kā arī palīdz izolēt un novērst tīkla problēmas.
Lielākā daļa nozares slodzes balansēšanas risinājumu izmanto terminus L4 un L7, kur L4 attiecas uz transporta slāni OSI modelī un L7 attiecas uz lietojumprogrammas slāni.
L4 slodzes balansētājs joprojām ir L2/L3, jo tas izmanto datus no apakšējiem slāņiem, piemēram, IP adresi un porta numuru.
Galvenās L4 slodzes balansētāja priekšrocības
Tas ir drošāks un efektīvāks, jo datu saturs netiek ņemts vērā, pieņemot lēmumus par maršrutēšanu
Tas pats TCP savienojums pastāv starp klientu un serveri, kas palīdz novērst pieejamo TCP savienojumu limita pārsniegšanu slodzes balansētājā.
Galvenie L4 slodzes balansiera trūkumi
- Viedā maršrutēšana nav iespējama, jo saturs netiek atšifrēts
- Stāvokļa protokols rada papildu sarežģītību
- Kartēšana starp publiskajām un privātajām adresēm
- Nav kešatmiņas, jo saturs šajā līmenī nav pieejams
- Nav iespējams izmantot mikropakalpojumu arhitektūrai, jo trafika novirzīšana nav pieejama, pamatojoties uz URL ceļu
No otras puses, L7 slodzes balansētājs darbojas OSI modelī lietojumprogrammas līmenī
Galvenās L7 slodzes balansētāja priekšrocības
Gudrus lēmumus var pieņemt, pamatojoties uz URL ceļu, galvenēm, saturu
Kešatmiņa
L7 slodzes balansētāja galvenie trūkumi
- Papildu pieskaitāmās izmaksas, kas saistītas ar divu TCP savienojumu uzturēšanu, viens starp klientu un slodzes balansētāju, otrs starp slodzes balansētāju un serveri. Jāņem vērā arī slodzes balansētāja TCP savienojuma ierobežojums
- Mazāk droša, jo slodzes līdzsvarotājam ir jāzina sertifikāti, lai varētu atšifrēt datus un pieņemt lēmumus par maršrutēšanu
Secinājums
Slodzes līdzsvarotājs ir būtiska sastāvdaļa, ja tiek izmantota horizontālā mērogošana, lai apstrādātu lielas satiksmes sistēmas. Ir divi galvenie slodzes balansētāju L4 un L7 veidi.
L4 slodzes balansētājs ir daudz drošāks un efektīvāks, jo ir ierobežoti pārdomātu lēmumu pieņemšanas ierobežojumi
L7 slodzes balansētājs darbojas tā, lai nodrošinātu inteliģentus maršrutēšanas lēmumus, pateicoties efektivitātes un drošības izmaksām
Atbilstoša veida izvēle ir atkarīga no sistēmas prasībām, un tā ir rūpīgi jāapsver, ievērojot saprātīgu līdzsvaru starp drošības principu piemērošanu un veiktspējas vājo vietu novēršanu.
Publicēts arī šeit.