Comparthing Logo
mākoņdatošanamērogojamībainfrastruktūradevopsarhitektūrasniegums

Horizontālā mērogošana pret vertikālo mērogošanu

Horizontālā mērogošana pievieno vairāk mašīnu darba slodzes sadalīšanai, savukārt vertikālā mērogošana palielina esošo serveru jaudu. Abas pieejas risina veiktspējas problēmas, taču būtiski atšķiras arhitektūras, izmaksu modeļu un darbības sarežģītības ziņā.

Iezīmes

  • Horizontālā mērogošana jau pēc konstrukcijas novērš atsevišķus kļūmes punktus, savukārt vertikālā mērogošana koncentrē risku uz vienu iekārtu.
  • Datu bāzes darba slodzes bieži vien ir pretrunā ar horizontālu sadalījumu, padarot vertikālo mērogošanu par praktisku noklusējuma vērtību daudzām komandām.
  • Automātiskās mērogošanas grupas nodrošina horizontālas mērogošanas jūtamību acumirklī, taču tām ir nepieciešamas iepriekšējas investīcijas lietojumprogrammu arhitektūrā.
  • Vertikālā mērogošana sasniedz stingrus ierobežojumus, kad tiek sasniegts visspēcīgākais pieejamais serveris, savukārt horizontālā mērogošana teorētiski nekad tā nenotiek.

Kas ir Horizontālā mērogošana?

Pievienojot vairāk serveru vai instanču, lai apstrādātu pieaugošo pieprasījumu un sadalītu darba slodzi.

  • Šī pieeja, ko sauc arī par mērogošanu, sadala datplūsmu vairākās iekārtās, izmantojot slodzes līdzsvarotājus.
  • Mākoņpakalpojumu sniedzēji, piemēram, AWS, Azure un GCP, ar automātiskās mērogošanas grupām horizontālo mērogošanu veic gandrīz acumirklī.
  • Lai šī pieeja darbotos efektīvi, lietojumprogrammām jābūt izstrādātām tā, lai tās būtu bezvalstīgas vai izmantotu koplietotu krātuvi.
  • Horizontālā mērogošana nodrošina iebūvētu redundanci, jo datplūsma var tikt novirzīta, ja viens serveris neizdodas
  • Šī metode parasti ievēro modeli “maksā, kad izaugsi”, tieši saskaņojot izmaksas ar faktisko patēriņu.

Kas ir Vertikālā mērogošana?

Esošo servera resursu, piemēram, centrālā procesora, operatīvās atmiņas vai krātuves, jaunināšana, lai uzlabotu veiktspēju.

  • Parasti saukta par mērogošanu, tā ietver servera nomaiņu pret jaudīgāku iekārtu vai komponentu jaunināšanu.
  • Vertikālā mērogošana labi darbojas monolītām lietojumprogrammām, kas nav paredzētas darbībai vairākos serveros.
  • Parasti pastāv augšējā robeža tam, cik jaudīga var būt viena mašīna, radot mērogojamības griestus.
  • Datu bāzu serveri bieži izmanto vertikālo mērogošanu, jo relāciju datubāzu izplatīšana rada ievērojamu sarežģītību.
  • Šī pieeja prasa dīkstāvi aparatūras jaunināšanas laikā, ja vien virtualizētās vidēs netiek izmantotas tiešraides migrācijas tehnoloģijas.

Salīdzinājuma tabula

Funkcija Horizontālā mērogošana Vertikālā mērogošana
Arhitektūra Izplatīts daudzos mezglos Viena jaudīga mašīna
Maksimālā ietilpība Praktiski neierobežots ar pietiekami daudz mezglu Ierobežots ar aparatūras griestiem
Dīkstāve mērogošanas laikā Parasti nav dīkstāves Bieži vien nepieciešama restartēšana vai migrācija
Izmaksu modelis Maksa par katru instanci, pieaug lineāri Liels sākotnējais vai pakāpeniskais izmaksu pieaugums
Sarežģītība Augstāks, nepieciešama slodzes līdzsvarošana un izkliedēts dizains Zemāks, vienkāršāk ieviešams
Kļūmju tolerance Iebūvēta redundanci Viena kļūmes punkta
Tipisks lietošanas gadījums Tīmekļa lietojumprogrammas, mikropakalpojumi Datu bāzes, mantotie monolīti

Detalizēts salīdzinājums

Kā katra pieeja ietekmē izaugsmi

Kad datplūsma strauji pieaug, horizontālā mērogošana reaģē, aktivizējot papildu serverus, lai sadalītu slodzi. Iedomājieties to kā vairāku kases celiņu atvēršanu pārtikas veikalā. Turpretī vertikālā mērogošana aizstāj jūsu kasieri ar ātrāku vai uzlabo viņa aparātu. Abas metodes nodrošina lielāku caurlaidspēju, taču darbības mehānika ievērojami atšķiras.

Lietojumprogrammu izstrādes prasības

Horizontālā mērogošana prasa, lai lietojumprogrammas tiktu veidotas, ņemot vērā izplatīšanu. Sesijas dati nevar atrasties vienā serverī, un pieprasījumi ir jāapstrādā neatkarīgi. Vertikālā mērogošana ir daudz pielaidīgāka pret mantotajām arhitektūrām. Tradicionālai trīs līmeņu lietojumprogrammai bieži vien nav nepieciešamas koda izmaiņas, lai gūtu labumu no jaudīgāka pamatā esošā servera.

Izmaksu ietekme laika gaitā

Horizontāla mērogošana sadala izdevumus starp daudziem mazākiem pirkumiem, kas var vienkāršot budžeta plānošanu, bet lielā mērogā var uzkrāt lielākas kopējās izmaksas. Vertikāla mērogošana koncentrē ieguldījumus mazākā skaitā, dārgāku iekārtu. Ārkārtīgu veiktspējas vajadzību gadījumā viens augstas klases serveris faktiski var kļūt rentablāks nekā simtiem mazu serveru organizēšana.

Neveiksmju noturība

Viena no horizontālās mērogošanas nemanāmajām priekšrocībām ir dabiskā kļūdu tolerance. Ja viens mezgls neizdodas, citi turpina apkalpot pieprasījumus. Vertikālā mērogošana rada kritisku atkarību no vienas mašīnas. Kad tā neizdodas, viss apstājas, ja vien nav ieviesta dārga rezerves sistēma.

Reālās pasaules hibrīdpieejas

Sarežģītas organizācijas reti izvēlas ekskluzīvu pieeju. Tās var vertikāli mērogot datubāzes galveno serveri, bet horizontāli mērogot bezvalstnieku tīmekļa serverus. Šī pragmatiskā sajaukšana ļauj katram komponentam izmantot mērogošanas modeli, kas atbilst tā ierobežojumiem un piekļuves modeļiem.

Priekšrocības un trūkumi

Horizontālā mērogošana

Iepriekšējumi

  • + Lieliska kļūdu tolerance
  • + Elastīga izaugsme pēc pieprasījuma
  • + Nav aparatūras griestu
  • + Saskaņo izmaksas ar lietojumu
  • + Nodrošina ģeogrāfisku izplatīšanu

Ievietots

  • Augstāka arhitektūras sarežģītība
  • Nepieciešams bezvalstnieku dizains
  • Tīkla latentums starp mezgliem
  • Sarežģītāka atkļūdošana
  • Iespējamās datu konsekvences problēmas

Vertikālā mērogošana

Iepriekšējumi

  • + Vienkāršāk ieviest
  • + Nav galvassāpju izkliedētās sistēmas dēļ
  • + Darbojas ar mantotu kodu
  • + Zemākas tīkla pieslēguma izmaksas
  • + Vieglāk nodrošināt un auditēt

Ievietots

  • Viena kļūmes punkta
  • Aparatūras jaunināšanas ierobežojumi
  • Bieži vien nepieciešams dīkstāves laiks
  • Grūtāk attaisnot mainīgas slodzes gadījumā
  • Ģeogrāfiskā koncentrācija

Biežas maldības

Mīts

Vertikālā mērogošana vienmēr ir lētāka, jo jūs pērkat mazāk mašīnu.

Realitāte

Lai gan rēķinu saraksts ir īsāks, uzņēmuma līmeņa serveriem ir ievērojamas prēmijas. Mērogā simtiem nelielu instanču var pārspēt un piedāvāt zemāku cenu nekā viens superdators. Reālais aprēķins ir atkarīgs no jūsu konkrētajiem darba slodzes modeļiem un tā, cik efektīvi tiek izmantots katrs resurss.

Mīts

Horizontālā mērogošana nozīmē, ka jūsu lietojumprogramma automātiski kļūst uzticamāka.

Realitāte

Izplatīšana uzlabo uzticamību tikai tad, ja tā ir pareizi izstrādāta. Slikti arhitektēta horizontāli mērogota sistēma var katastrofāli neizdoties, ja visiem mezgliem ir viena datubāzes sašaurinājuma vieta vai ja pats slodzes līdzsvarotājs kļūst par ievainojamību.

Mīts

Jums jāizvēlas viena pieeja un jāpieturas pie tās visu laiku.

Realitāte

Lielākā daļa ražošanas vides dinamiski apvieno abas stratēģijas. Bezvalstnieku komponenti mērogojas horizontāli, savukārt pastāvīgie datu krātuves var mērogoties vertikāli, līdz kļūst nepieciešama sharding. Robeža mainās, sistēmām attīstoties.

Mīts

Vertikālā mērogošana mākoņpakalpojumu laikmetā ir novecojusi.

Realitāte

Mākoņpakalpojumu sniedzēji stingri atbalsta horizontālo mērogošanu, taču vertikālā mērogošana joprojām ir būtiska. Daudzi pārvaldīto datubāzu pakalpojumi joprojām tiek mērogoti pirms mērogošanas, un noteiktas skaitļošanas darba slodzes darbojas labāk mazākā skaitā, jaudīgāku instancēs tikai komunikācijas pieskaitāmo izmaksu dēļ.

Mīts

Horizontālā mērogošana acumirklī atrisina visas veiktspējas problēmas.

Realitāte

Serveru pievienošana palīdz tikai tad, ja jūsu vājā vieta ir skaitļošanas jauda. Ja jūsu lietojumprogramma darbojas lēni neefektīvu vaicājumu, atmiņas noplūžu vai darbību bloķēšanas dēļ, vairāk serveru tikai saasina jūsu problēmas. Profilēšana un optimizācija ir jāveic pirms mērogošanas lēmumiem.

Bieži uzdotie jautājumi

Kas vienkāršā izteiksmē ir horizontālā mērogošana salīdzinājumā ar vertikālo mērogošanu?
Horizontālā mērogošana nozīmē lielāka darba apjoma veikšanu, pievienojot savam datoru pūlam vairāk datoru, piemēram, pieņemot darbā vairāk darbinieku rūpnīcā. Vertikālā mērogošana nozīmē esošā datora jaudīgāku padarīšanu, piemēram, nodrošinot darbiniekiem labākus rīkus un steroīdus. Abas metodes palielina jaudu, taču to ieviešana un uzturēšana ir ļoti atšķirīga.
Kad man vajadzētu izmantot vertikālo mērogošanu horizontālās, nevis vertikālās mērogošanas vietā?
Vertikālā mērogošana izceļas ar stāvokļa lietojumprogrammām, kas nav veidotas izplatīšanai, piemēram, tradicionālajām relāciju datubāzēm vai mantotu uzņēmumu programmatūru. Tā ir arī vēlama, ja tīkla komunikācija starp mezgliem radītu nepieņemamu latentumu vai ja jūsu komandai trūkst zināšanu, lai pārvaldītu izkliedēto sistēmu sarežģītību.
Vai horizontālajai mērogošanai ir nepieciešams īpašs lietojumprogrammas dizains?
Parasti jā. Jūsu lietojumprogrammai ir jāapstrādā pieprasījumi neatkarīgi no lokālā servera stāvokļa. Lietotāju sesijām jāatrodas koplietotās kešatmiņās, piemēram, Redis, failu augšupielādei ir nepieciešama centralizēta krātuve, piemēram, S3, un jūsu datubāzei ir jāapstrādā savienojumi no vairākiem lietojumprogrammu serveriem. Šīs nav neiespējamas prasības, taču tās ir jāplāno jau agrīnās izstrādes stadijās.
Vai varu apvienot horizontālo un vertikālo mērogošanu?
Pilnīgi noteikti, un lielākā daļa organizāciju rīkojas tieši tā. Bieži izmantots modelis, kas mērogo tīmekļa serverus horizontāli, bet datubāzes vertikāli, līdz tās absolūti ir jādalās. Šī hibrīda pieeja ļauj katram slānim izmantot visatbilstošāko mērogošanas modeli atbilstoši tā ierobežojumiem un piekļuves modeļiem.
Kura mērogošanas pieeja ir izmaksu ziņā efektīvāka?
Tas pilnībā atkarīgs no jūsu darba slodzes raksturlielumiem un izaugsmes trajektorijas. Vienmērīga, paredzama izaugsme varētu veicināt vertikālās mērogošanas vienkāršību. Ļoti mainīgas vai strauji augošas darba slodzes bieži vien izrādās lētākas, izmantojot horizontālās mērogošanas detalizēto izmaksu kontroli. Pirms apņemšanās veiciet detalizētu analīzi par faktiskajiem resursu izmantošanas modeļiem.
Kā automātiskā mērogošana darbojas ar horizontālo mērogošanu?
Automātiskā mērogošana uzrauga tādus rādītājus kā centrālā procesora noslodze, pieprasījumu rindas dziļums vai pielāgoti biznesa rādītāji. Kad tiek pārsniegti sliekšņi, tā automātiski nodrošina jaunus eksemplārus un pievieno tos jūsu slodzes līdzsvarotājam. Kad pieprasījums samazinās, tā noņem eksemplārus, lai ietaupītu naudu. Šī elastība ir horizontālās mērogošanas galvenā funkcija mākoņvidē.
Kādi ir galvenie vertikālās mērogošanas riski?
Lielākais risks ir sasniegt pieejamās aparatūras griestus. Kad esat iegādājies visspēcīgāko iespējamo serveri, jūs esat iestrēdzis. Papildus jāņem vērā arī jauninājumiem nepieciešamais dīkstāves laiks, riska koncentrācija vienā datorā un grūtības attaisnot dārgas aparatūras iegādi darba slodzēm, kas neparedzami pieaug.
Vai horizontālā mērogošana ir paredzēta tikai lieliem uzņēmumiem?
Vairs ne. Mākoņdatošana ir demokratizējusi piekļuvi horizontālai mērogošanai. Jaunuzņēmums var konfigurēt automātisko mērogošanu infrastruktūrā kā kodu tikpat viegli kā Fortune 500 uzņēmums. Īstais šķērslis ir arhitektūras zināšanas, nevis budžets vai organizācijas lielums.
Kā slodzes līdzsvarotāji iederas horizontālajā mērogošanā?
Slodzes līdzsvarotāji ir datplūsmas direktori, kas nodrošina horizontālu mērogošanu. Tie sadala ienākošos pieprasījumus visā serveru kopā, uzrauga to stāvokli un automātiski noņem bojātos mezglus. Bez tiem lietotāji tieši piekļūtu atsevišķiem serveriem, tādējādi zaudējot vairāku datoru jēgu.
Kas notiek ar maniem datiem, ja tos mērogoju horizontāli?
Tas ir kritiskais jautājums. Lietojumprogrammu datiem datubāzēs ir jāpaliek pieejamiem no visiem mezgliem, parasti izmantojot centralizētu datubāzi vai datubāzu klasteri. Lietotāju augšupielādētie faili tiek pārvietoti uz koplietojamu krātuvi. Sesijas dati tiek pārvietoti uz Redis vai līdzīgu krātuvi. Jūsu lietojumprogrammas kods kļūst bezvalstnieks, savukārt dati atrodas īpaši paredzētos, bieži vien vertikāli mērogotos datu slāņos.
Vai vertikālā mērogošana jebkad var sasniegt horizontālās mērogošanas veiktspēju?
Noteiktām darba slodzēm jā. Viena mašīna ar milzīgu centrālo procesoru, atmiņu un ātru lokālo krātuvi var pārspēt izkliedētu sistēmu uzdevumos, kuriem nepieciešama intensīva starpprocesu komunikācija vai bieža datu lokalizācija. Zinātniskā skaitļošana, video renderēšana un noteikta datubāzu analīze dažreiz dod priekšroku vertikālai mērogošanai pat lielā mērogā.
Kā izlemt, ar kuru mērogošanas stratēģiju sākt?
Sāciet ar saviem ierobežojumiem. Ja jums ir mantota lietojumprogramma un ierobežots izstrādes laiks, vertikālā mērogošana ļaus jums virzīties uz priekšu visātrāk. Ja veidojat jaunu mākoņpakalpojumos balstītu programmatūru, projektējiet horizontālo mērogošanu jau no pirmās dienas. Vissvarīgākais ir visu instrumentēt un ļaut reāliem veiktspējas datiem vadīt jūsu attīstību, nevis izteikt teorētiskas prognozes.

Spriedums

Veidojot modernas, mākoņpakalpojumos balstītas lietojumprogrammas, kurām nepieciešama elastīga izaugsme un augsta pieejamība, izvēlieties horizontālu mērogošanu. Izvēlieties vertikālu mērogošanu, strādājot ar mantotajām sistēmām, sarežģītām darba slodzēm ar stāvokli, piemēram, tradicionālajām datubāzēm, vai ja vienkāršība atsver neierobežotas mērogojamības nepieciešamību. Lielākā daļa nobriedušu arhitektūru galu galā apvieno abas pieejas.

Saistītie salīdzinājumi

Adaptīvā infrastruktūra pret statisko infrastruktūras dizainu

Adaptīvā infrastruktūra dinamiski pielāgojas mainīgajām darba slodzēm, izmantojot automatizāciju un mērogošanu reāllaikā, savukārt statiskās infrastruktūras dizains balstās uz fiksētiem, iepriekš konfigurētiem resursiem. Izvēle starp tiem ir atkarīga no darba slodzes mainīguma, budžeta paredzamības un darbības brieduma jūsu mākoņvidē.

Augstas caurlaidspējas apkalpošanas sistēmas salīdzinājumā ar zemas datplūsmas API

Augstas caurlaidspējas apkalpošanas sistēmas apstrādā milzīgu pieprasījumu apjomu ar milisekundes līmeņa latentumu, nodrošinot ieteikumu dzinēju un reklāmu platformu darbību. API ar mazu datplūsmu apkalpo mazākas lietotāju bāzes, kur vienkāršība, izmaksu efektivitāte un uzturēšanas vieglums ir svarīgāki par neapstrādātu mērogu.

Augstas caurlaidspējas ieteikumu apkalpošana salīdzinājumā ar zemas latentuma API sistēmām

Augstas caurlaidspējas ieteikumu apkalpošana koncentrējas uz miljonu vienumu ranžēšanu katrā pieprasījumā plašā mērogā, savukārt zemas latentuma API sistēmas piešķir prioritāti ātram, paredzamam atbildes laikam vispārējas nozīmes vaicājumiem. Abas pieprasa veiktspēju zem 100 ms, bet risina fundamentāli atšķirīgas inženiertehniskās problēmas mūsdienu mākoņinfrastruktūrā.

AWS pret Google Cloud

Šis salīdzinājums izvērtē Amazon Web Services un Google Cloud, analizējot to pakalpojumu piedāvājumus, cenu modeļus, globālo infrastruktūru, veiktspēju, izstrādātāju pieredzi un optimālos lietošanas gadījumus, palīdzot organizācijām izvēlēties mākoņplatformu, kas vislabāk atbilst to tehniskajām un biznesa prasībām.

Baitu nobīdes kontrolpunktēšana salīdzinājumā ar bezvalstnieku atkopšanu

Baitu nobīdes kontrolpunkti un bezstāvokļa atkopšana ir principiāli atšķirīgas pieejas kļūdu tolerancei izkliedētās sistēmās, kur pirmā saglabā precīzas straumes pozīcijas precīzai atsākšanas iespējai, bet otrā atjauno stāvokli no nulles, izmantojot nemainīgus datu avotus, aizstājot krātuves pieskaitāmās izmaksas rekonstrukcijas vienkāršības labad.