Werrej[Aħbi][Uri]
Id-disponibbiltà tal-applikazzjonijiet qatt ma ttieħdet bis-serjetà daqs illum meta nużaw apps għal aktar minn sempliċi komunikazzjoni, kemm jekk personali jew professjonali u meta l-apps huma n-negozju.
Applikazzjonijiet li mhumiex kontinwament onlajn, jew li huma instabbli, jitilfu l-utenti u r-rilevanza tagħhom, u eventwalment isiru obsoleti. Ġara f’daqqa. Minħabba li l-internet qatt ma jorqod u jopera 24 siegħa kuljum, 7 ijiem fil-ġimgħa, l-istess idea trid tapplika għall-apps.
L-iskalabbiltà hija kritika biex isir dan u tiġi żgurata d-disponibbiltà tal-applikazzjoni. L-ibbilanċjar tat-tagħbija huwa wieħed mill-aktar komponenti importanti biex tiġi żgurata d-disponibbiltà. Ħafna nies għadhom jemmnu li l-ibbilanċjar tat-tagħbija jista 'jsir b'kitba sempliċi.
Madankollu, dan mhuwiex il-każ. Hija biss tipprovdi aċċess għal programmi fid-dinja kollha — fi kwalunkwe ħin u minn kwalunkwe apparat.
F'din il-kariga, ser nagħtu ħarsa fil-fond lejn l-ibbilanċjar tat-tagħbija, l-algoritmi tiegħu, u kif tirrelata mal-mikroservizzi, fost affarijiet oħra. Ejja nibdew!
X'inhu l-ibbilanċjar tat-tagħbija?
Hekk kif id-domanda għal websajt jew applikazzjoni tan-negozju tikber, server wieħed dalwaqt ma jkunx jista 'jimmaniġġja t-tagħbija kollha. L-organizzazzjonijiet iqassmu l-ammont tax-xogħol fuq bosta servers sabiex jissodisfaw id-domanda. Dan il-metodu, magħruf bħala "ibbilanċjar tat-tagħbija", iżomm server wieħed milli jitgħabba żżejjed, li jista 'jikkawża li jonqos, twaqqa' t-talbiet, jew saħansitra jikkraxxja.
L-ibbilanċjar tat-tagħbija jqassam it-traffiku tan-netwerk b'mod ugwali biex jiġi evitat falliment minħabba tagħbija żejda tar-riżorsi. Applikazzjonijiet, websajts, databases, u riżorsi oħra tal-kompjuter jaħdmu aħjar u huma aktar disponibbli bl-użu ta 'dan il-metodu. Jgħin ukoll fl-ipproċessar xieraq u f'waqtu tat-talbiet tal-utenti.
Mill-perspettiva tal-utent, l-ibbilanċjar tat-tagħbija jservi bħala intermedjarju li ma tidhirx bejn klijent u ġabra ta 'servers, u jiżgura li t-talbiet ta' konnessjoni ma jitwarrbux. L-applikazzjonijiet, il-websajts, id-databases, u s-servizzi online x'aktarx jikkrollaw jekk id-domanda ssir kbira wisq mingħajr ibbilanċjar tat-tagħbija.
Mijiet ta' eluf ta' talbiet tal-utenti jistgħu jintbagħtu lil websajt waħda ta' traffiku għoli fl-istess ħin. Servers multipli huma meħtieġa biex jimlew b'mod korrett il-paġni tal-web bil-kontenut mitlub, bħal test, stampi, vidjo, u streaming awdjo. L-ibbilanċjar tat-tagħbija huwa komunement użat f'farms ta' servers ta' websajts b'traffiku għoli, kif ukoll servers DNS, databases u siti tal-Protokoll ta' Trasferiment tal-File (FTP).
Jekk server wieħed ikun mgħobbi żżejjed, dan jista' jaħdem ħażin jew saħansitra jikkraxxja. Load balancers inaqqsu ċ-ċans ta' waqfien billi jqassmu t-talbiet tal-utenti b'mod uniformi fost ġabra ta' servers. Jekk wieħed mis-servers fil-grupp ifalli, it-traffiku jiġi ddivjat lejn servers oħra fil-grupp. A load balancer awtomatikament iżid servers ġodda fil-proċess tad-distribuzzjoni tat-traffiku meta jiġu miżjuda mal-pool tas-server.
Kif jaħdem l-ibbilanċjar tat-tagħbija?
Jaħdem kif ġej:
- Meta klijent jirċievi talba, bħal permezz ta 'browser jew applikazzjoni, jipprova jgħaqqad mas-server.
- Meta load balancer jirċievi talba, iwassalha lejn wieħed mis-servers fi grupp ta 'server ibbażat fuq mudelli stabbiliti mill-algoritmu (jew farm).
- Is-server jirċievi t-talba għall-konnessjoni u jwieġeb lill-klijent permezz tal-load balancer.
- Meta l-balancer tat-tagħbija jirċievi r-rispons, jaqbel mal-indirizz IP tal-klijent mal-indirizz IP tas-server magħżul. Wara dan, it-tweġiba tiġi trażmessa mal-pakkett.
- SSL offload huwa l-proċess ta 'decrypting data bl-użu tal-protokoll ta' encryption Socket Layer sabiex is-servers ma jkollhomx għalfejn.
- Il-proċess huwa ripetut sakemm is-sessjoni tintemm.
Metodi tal-Ibbilanċjar tat-Tagħbija
Biex tagħżel liema mis-servers f'razzett tas-server jirċievi t-talba li jmiss, kull teknika ta 'ibbilanċjar tat-tagħbija tuża sett ta' kriterji. Hemm ħames approċċi tipiċi għall-ibbilanċjar tat-tagħbija:
- Round Robin: Dan huwa l-approċċ default, u jaħdem eżatt kif ħsejjes. Il-load balancer iqassam it-talbiet f'mudell li jdur, li jibda bl-ewwel server fil-grupp u jipproċedi 'l isfel sal-qiegħ, fejn jistenna li jerġa' jissejjaħ. Dan il-metodu jiżgura li kull server qed jimmaniġġja bejn wieħed u ieħor l-istess numru ta 'konnessjonijiet.
- Round Robin Peżat: Dan l-approċċ jassenja lil kull server piż (jew preferenza) li huwa ġeneralment proporzjonali għall-kapaċità tiegħu. Iktar ma jirċievi talbiet server, iktar ikun għoli l-piż. Per eżempju, server b'valur ta 'piż ta' tnejn jirċievi talbiet darbtejn aktar minn server b'valur ta 'piż ta' wieħed.
- Sessjoni Twaħħal: Dan l-approċċ, magħruf ukoll bħala persistenza tas-sessjoni, jgħaqqad ċerti klijenti u servers għat-tul ta' sessjoni. Biex jistabbilixxi l-link, il-load balancer juża cookie jew l-indirizz IP tal-utent biex jidentifika attribut tal-utent. Ladarba l-konnessjoni tiġi stabbilita, it-talbiet tal-utent huma diretti lejn l-istess server sakemm tintemm is-sessjoni. Dan jottimizza r-riżorsi tan-netwerk filwaqt li jtejjeb ukoll l-esperjenza tal-utent.
- Inqas Konnessjonijiet: Din l-istrateġija tassumi li t-talbiet kollha jirriżultaw f'piż tas-server ugwali. Bħala riżultat, is-server bl-iżgħar numru ta 'talbiet jirċievi t-talba li jmiss.
- IP Hash: Dan l-algoritmu jiġġenera ċavetta hash unika bbażata fuq l-indirizzi IP tas-sors u tad-destinazzjoni tal-klijent u tas-server. Iċ-ċavetta tintuża biex tintbagħat it-talba u tippermetti li terġa 'tibda konnessjoni mitlufa mal-istess server.
Ħardwer vs. Software Load Balancers
Ħardwer Load Balancer
Ħardwer fiżiku, bħal apparat, jagħmel ħardwer load balancers. Dawn ir-rotot tat-traffiku lejn servers jiddependi fuq fatturi bħan-numru ta 'konnessjonijiet eżistenti, l-użu tal-proċessur, u l-prestazzjoni tas-server. Bilanċjaturi tat-tagħbija tal-ħardwer għandhom firmware proprjetarju li jrid jinżamm u jiġi aġġornat meta jsiru disponibbli verżjonijiet ġodda u soluzzjonijiet ta' sigurtà.
Bilanċaturi tat-tagħbija tal-ħardwer ħafna drabi jipprovdu prestazzjoni u kontroll ogħla, kif ukoll firxa usa 'ta' kapaċitajiet bħall-awtentikazzjoni Kerberos u l-aċċelerazzjoni tal-ħardwer SSL, iżda jeħtieġu xi livell ta 'kompetenza ta' ġestjoni u manutenzjoni. Minħabba li l-balancers tat-tagħbija tal-ħardwer huma inqas flessibbli u skalabbli minn dawk tal-bilanċjar tat-tagħbija tas-softwer, hemm propensità li jiġu pprovduti żżejjed tal-bilanċaturi tat-tagħbija tal-ħardwer.
Software Load Balancer
Is-software load balancers huma tipikament aktar faċli biex jitwaqqfu mill-kontropartijiet tal-hardware tagħhom. Huma wkoll aktar kost-effettivi u adattabbli, u jaħdmu tajjeb ma 'ambjenti ta' żvilupp ta 'softwer. Il-metodu tas-software jippermettilek tippersonalizza l-balancer tat-tagħbija skont ir-rekwiżiti eżatti tal-ambjent tiegħek. Iż-żieda fil-flessibbiltà tista 'tiġi għad-detriment ta' ħin addizzjonali mgħoddi biex jitwaqqaf it-tagħbija tal-bilanċ.
Il-bilanċjanti tas-softwer jagħtuk flessibilità akbar biex tagħmel modifiki u aġġornamenti minn dawk tal-ħardwer, li għandhom approċċ ta 'kaxxa aktar magħluqa. Magni virtwali ppakkjati minn qabel jistgħu jintużaw bħala software load balancers (VMs). Magni virtwali se jiffrankaw xi ftit ħin ta 'issettjar, iżda jista' ma jkollhomx il-funzjonalità kollha disponibbli fil-kontropartijiet tal-hardware tagħhom.
Implimentazzjoni Sempliċi tal-Ibbilanċjar tat-Tagħbija
Aħna se nużaw il-librerija Spring Cloud biex tibni apps li jgħaqqdu ma 'apps oħra b'mod ibbilanċjat tat-tagħbija. Filwaqt li nipproċessaw talbiet għal servizz mill-bogħod, nistgħu faċilment nibnu l-ibbilanċjar tat-tagħbija billi tuża kwalunkwe teknika li nħobbu. Ikkunsidra l-kodiċi li ġej bħala eżempju. Nibdew b'applikazzjoni bażika ta' server.
Is-server se jkollu punt finali HTTP wieħed biss u se jitħaddem f'diversi każijiet. Imbagħad nibnu app klijent li tuża Load Balancer biex tqassam it-talbiet f'diversi istanzi ta' server.
server
Nibdew b'bażiku Ibbutjar tar-Rebbiegħa applikazzjoni għas-server eżempju tagħna:
Biex tibda, aħna ninjettaw varjabbli customizable msejħa instance_ID. Dan jgħinna niddistingwu bejn bosta każijiet li qed joperaw. Wara dan, noħolqu endpoint HTTP GET wieħed li jirritorna messaġġ u ID tal-istanza.
L-istanza default bl-ID 1 se topera fuq il-port 8080. Għandna bżonn biss li nżidu ftit parametri tal-programm biex inniedu it-tieni istanza:
klijent
Ejja issa nagħtu ħarsa lejn il-kodiċi tal-klijent. Dan huwa fejn jidħol Load Balancer, allura ejja nibdew billi ninkorporawha fl-applikazzjoni tagħna:
Wara dan, aħna niżviluppaw implimentazzjoni ta 'ServiceInstanceListSupplier. Din hija waħda mill-aktar interfaces importanti f'Load Balancer. Jispeċifika kif insibu istanzi ta' servizz aċċessibbli.
Aħna ser nikkodifikaw żewġ każijiet separati tas-server eżempju tagħna fl-applikazzjoni tal-kampjun tagħna. Huma jaħdmu fuq l-istess sistema iżda jużaw portijiet separati:
Oħloq klassi LoadBalancerConfiguration issa:
Din il-klassi għandha skop wieħed biss: toħloq bennej WebClient bbilanċjat bit-tagħbija biex tagħmel talbiet remoti. L-annotazzjoni tagħna timpjega isem fittizju għas-servizz.
Dan huwa minħabba l-fatt li x'aktarx ma nkunux nafu l-ismijiet tal-hostnames u l-portijiet preċiżi għat-tmexxija ta 'istanzi qabel iż-żmien. Bħala riżultat, aħna nużaw isem fittizju bħala placeholder, u l-qafas se jissostitwixxi l-informazzjoni attwali meta jagħżel istanza li taħdem.
Sussegwentement, ejja nagħmlu klassi ta 'Konfigurazzjoni li se tintuża biex tisstanzja l-provvista tal-istanza tas-servizz tagħna. Ħu nota li nużaw l-istess alias bħal qabel:
Issa nistgħu nibnu l-applikazzjoni tal-klijent reali. Ejja nibagħtu 10 mistoqsijiet lis-server tal-kampjun billi tuża l-fażola WebClient minn qabel:
Nistgħu naraw mill-output li qed nibbilanċjaw it-tagħbija bejn żewġ każijiet separati:
Ibbilanċjar tat-Tagħbija fil-Mikroservizzi
L-arkitettura tal-mikroservizz qed tintuża minn diversi kumpaniji, bħal Netflix u Amazon, biex jiżviluppaw applikazzjonijiet kummerċjali bħala sett ta’ servizzi konnessi b’mod laxk. L-iperscale u l-kunsinna kontinwa għal applikazzjonijiet ikkumplikati huma biss tnejn mir-raġunijiet biex wieħed jimxi għal din l-arkitettura distribwita u konnessa b'mod laxk.
It-timijiet ta 'dawn l-intrapriżi implimentaw strateġiji Agile u DevOps sabiex jipproduċu apps aktar malajr u b'rata ta' falliment aktar baxxa minn metodi tradizzjonali. Madankollu, trid issib bilanċ bejn il-kumplessità tal-arkitettura distribwita u t-talbiet tal-applikazzjoni, ir-rekwiżiti tal-iskala, u l-limitazzjonijiet taż-żmien għas-suq.
Għal tant snin, il-kontrolluri tal-kunsinna tal-applikazzjonijiet (ADCs) kienu kritiċi biex jissodisfaw ir-rekwiżiti tal-livell tas-servizz għal applikazzjonijiet korporattivi ospitati fuq il-post jew fil-cloud. Klijent li jimpenja ruħu ma' applikazzjoni bbażata fuq mikroservizzi m'għandux għalfejn ikun jaf dwar l-istanzi li qed jipprovduha sabiex ikabbar il-klijent u l-mikroservizzi b'mod indipendenti.
Dan huwa preċiżament id-diżakkoppjar ipprovdut minn reverse proxy jew load balancer. Għal darb'oħra, l-ibbilanċjar tat-tagħbija huwa s-soluzzjoni biex jiġi żgurat li l-mikroservizzi jkunu jistgħu jimmaniġġjaw id-domanda, is-sigurtà u d-disponibbiltà.
Meta tikkombina l-ibbilanċjar tat-tagħbija tradizzjonali bejn it-Tramuntana u n-Nofsinhar bejn l-apps ibbażati fuq il-klijenti u l-mikroservizzi mal-iskjerament Lvant-Punent għal skalabbiltà orizzontali, ikollok spinta sostanzjali. L-għan huwa li jinżamm l-ambjent sikur u regolat meħtieġ mill-IT mingħajr ma tiġi sagrifikata l-aġilità tal-iżvilupp jew Awtomazzjoni DevOps rekwiżiti.
benefiċċji
L-ibbilanċjar tat-tagħbija jipprovdi diversi benefiċċji billi jtejjeb l-użu tar-riżorsi, it-twassil tad-dejta, u l-ħin tar-rispons għal websajts u apps b'traffiku għoli, kif ukoll databases li jiksbu numru kbir ta 'mistoqsijiet. L-ibbilanċjar tat-tagħbija jiżgura li t-talbiet tal-utenti jiġu ssodisfati malajr u b'mod korrett f'xenarji ta' traffiku għoli.
Huma jiffrankaw lill-utenti l-aggravament li jittrattaw programmi u riżorsi kajman. L-ibbilanċjar tat-tagħbija jgħin ukoll biex jiġi evitat ħin ta' waqfien u jissimplifika s-sigurtà, u jnaqqas ir-riskju ta' produttività u qligħ mitlufa għall-kumpanija tiegħek.
- L-ibbilanċjar tat-tagħbija jipprovdi l-flessibbiltà biex iżżid u tneħħi servers kif tiddetta d-domanda, minbarra l-ġestjoni tat-traffiku għall-aħjar effiċjenza. Minħabba li t-traffiku jiġi ddevjat lejn servers oħra waqt il-manutenzjoni, huwa wkoll fattibbli li ssir manutenzjoni tas-server mingħajr ma tfixkel lill-utenti.
- L-ibbilanċjar tat-tagħbija jipprovdi redundancy inkorporat billi jaqsam it-traffiku fost sett ta 'servers. Tista' immedjatament tiddevja t-tagħbija għal servers oħra jekk wieħed ifalli, u jimminimizza l-impatt fuq l-utenti.
- Jekk l-użu ta' applikazzjoni jew websajt jikber, iż-żieda fit-traffiku tista' tiddegrada l-prestazzjoni tagħha jekk ma tiġix immaniġġjata b'mod effettiv. Bil-ibbilanċjar tat-tagħbija, tista 'żżid server reali jew virtwali biex tissodisfa d-domanda mingħajr ma tfixkel is-servizz. Il-load balancer jidentifika servers ġodda hekk kif jiġu online u jinkorporahom mingħajr sforz fl-operazzjoni. Dan il-metodu huwa preferibbli għall-migrazzjoni ta 'websajt minn server mgħobbi żżejjed għal wieħed ġdid, li spiss jinvolvi xi ħin ta' waqfien.
konklużjoni
L-ibbilanċjar tat-tagħbija huwa komponent kritiku ta 'sistemi kontemporanji, tolleranti għall-ħsarat. Nistgħu sempliċement nibnu apps li jqassmu t-talbiet lil istanzi multipli ta 'servizz billi jużaw diversi approċċi ta' bilanċ tat-tagħbija. In-negozji jridu jappoġġaw sistemi kkumplikati tal-IT sabiex jipprovdu applikazzjonijiet b'mod sigur.
Il-konfigurazzjoni, l-iskjerament u l-manutenzjoni tal-mikroservizzi bejn id-dominji jistgħu jkunu suxxettibbli għall-iżbalji, jiswew ħafna flus u jieħdu ħafna ħin. L-IT għandha tuża l-aħjar prattiki u teknoloġiji ta' awtomazzjoni, viżibilità, analitika u orkestrazzjoni li huma kompatibbli mal-proċessi b'aġilità u DevOps tagħhom biex jagħmlu l-istabbiliment u l-manutenzjoni ta' dawn il-mikroservizzi aktar faċli.
Ħalli Irrispondi