Tabl Cynnwys[Cuddio][Dangos]
Nid yw argaeledd cymwysiadau erioed wedi'i gymryd mor ddifrifol ag y mae heddiw pan fyddwn yn defnyddio apiau ar gyfer mwy na chyfathrebu yn unig, boed yn bersonol neu'n broffesiynol a phan fo apiau'n fusnes.
Mae cymwysiadau nad ydynt yn gyson ar-lein, neu sy'n ansefydlog, yn colli eu defnyddwyr a'u perthnasedd, gan ddod yn anarferedig yn y pen draw. Digwyddodd mewn fflach. Gan nad yw'r rhyngrwyd byth yn cysgu ac yn gweithredu 24 awr y dydd, 7 diwrnod yr wythnos, rhaid i'r un syniad fod yn berthnasol i apiau.
Mae graddadwyedd yn hanfodol i wneud hyn a sicrhau argaeledd ceisiadau. Cydbwyso llwyth yw un o'r elfennau pwysicaf wrth sicrhau argaeledd. Mae llawer o bobl yn dal i gredu y gellir cydbwyso llwyth gyda sgript syml.
Fodd bynnag, nid yw hyn yn wir. Mae ar ei ben ei hun yn darparu mynediad i raglenni ledled y byd - ar unrhyw adeg ac o unrhyw ddyfais.
Yn y swydd hon, byddwn yn edrych yn ddwfn ar gydbwyso llwyth, ei algorithmau, a sut mae'n berthnasol i ficrowasanaethau, ymhlith pethau eraill. Gadewch i ni ddechrau!
Beth yw cydbwyso llwyth?
Wrth i'r galw am wefan neu raglen fusnes gynyddu, ni fydd un gweinydd yn gallu ymdopi â'r llwyth cyfan yn fuan. Mae sefydliadau'n dosbarthu'r llwyth gwaith dros nifer o weinyddion er mwyn bodloni'r galw. Mae'r dull hwn, a elwir yn “gydbwyso llwyth,” yn atal un gweinydd rhag cael ei orlwytho, a all achosi iddo arafu, gollwng ceisiadau, neu hyd yn oed chwalu.
Mae cydbwyso llwyth yn dosbarthu traffig rhwydwaith yn gyfartal er mwyn osgoi methiant oherwydd gorlwytho adnoddau. Mae cymwysiadau, gwefannau, cronfeydd data ac adnoddau cyfrifiadurol eraill yn perfformio'n well ac maent ar gael yn fwy gan ddefnyddio'r dull hwn. Mae hefyd yn helpu i brosesu ceisiadau defnyddwyr yn gywir ac yn amserol.
O safbwynt y defnyddiwr, mae cydbwyso llwyth yn gweithredu fel cyfryngwr anweledig rhwng cleient a chasgliad o weinyddion, gan sicrhau nad yw ceisiadau cysylltiad yn cael eu gollwng. Mae'n debygol y byddai cymwysiadau, gwefannau, cronfeydd data a gwasanaethau ar-lein yn cwympo pe bai'r galw'n mynd yn rhy fawr heb gydbwyso llwyth.
Gellir anfon cannoedd o filoedd o geisiadau defnyddwyr i un wefan traffig uchel ar yr un pryd. Mae angen gweinyddwyr lluosog i boblogi tudalennau gwe yn gywir gyda'r cynnwys y gofynnwyd amdano, fel testun, delweddau, fideo, a ffrydio sain. Mae cydbwyso llwyth yn cael ei ddefnyddio'n gyffredin mewn ffermydd gweinydd gwefannau traffig uchel, yn ogystal â gweinyddwyr DNS, cronfeydd data, a gwefannau Protocol Trosglwyddo Ffeil (FTP).
Os yw gweinydd unigol wedi'i orlwytho, gallai hyn weithio'n wael neu hyd yn oed chwalu. Mae balanswyr llwyth yn lleihau'r siawns o amser segur trwy ddosbarthu ceisiadau defnyddwyr yn gyfartal ymhlith casgliad o weinyddion. Os bydd un o'r gweinyddion yn y grŵp yn methu, mae traffig yn cael ei ailgyfeirio i weinyddion eraill yn y grŵp. Mae cydbwysedd llwyth yn ychwanegu gweinyddwyr newydd yn awtomatig yn y broses ddosbarthu traffig pan gânt eu hychwanegu at y gronfa gweinyddwyr.
Sut mae cydbwyso llwyth yn gweithio?
Mae'n gweithio fel a ganlyn:
- Pan fydd cleient yn derbyn cais, megis trwy borwr neu raglen, mae'n ceisio cysylltu â'r gweinydd.
- Pan fydd cydbwysedd llwyth yn derbyn cais, mae'n ei gyfeirio i un o'r gweinyddwyr mewn grŵp gweinyddwyr yn seiliedig ar batrymau sefydledig gan yr algorithm (neu fferm).
- Mae'r gweinydd yn derbyn y cais cysylltiad ac yn ateb y cleient trwy'r balans llwyth.
- Pan fydd y cydbwysedd llwyth yn derbyn yr ymateb, mae'n cyfateb cyfeiriad IP y cleient â chyfeiriad IP y gweinydd a ddewiswyd. Yn dilyn hynny, trosglwyddir yr ateb gyda'r pecyn.
- Dadlwythiad SSL yw'r broses o ddadgryptio data gan ddefnyddio'r protocol amgryptio Haen Soced Diogelwch fel nad oes rhaid i weinyddion.
- Ailadroddir y broses nes bod y sesiwn drosodd.
Dulliau Cydbwyso Llwyth
I ddewis pa un o'r gweinyddwyr mewn fferm gweinydd sy'n derbyn y cais nesaf, mae pob techneg cydbwyso llwyth yn defnyddio set o feini prawf. Mae pum dull nodweddiadol ar gyfer cydbwyso llwythi:
- Rownd Robin: Dyma'r dull rhagosodedig, ac mae'n gweithio yn union fel y mae'n swnio. Mae'r cydbwysedd llwyth yn dosbarthu ceisiadau mewn patrwm cylchdroi, gan ddechrau gyda'r gweinydd cyntaf yn y grŵp a symud ymlaen i'r gwaelod, lle mae'n aros i gael ei alw eto. Mae'r dull hwn yn sicrhau bod pob gweinydd yn trin tua'r un nifer o gysylltiadau.
- Robin Rownd Wedi'i Bwysoli: Mae'r dull hwn yn rhoi pwysau (neu ffafriaeth) i bob gweinydd sy'n gymesur yn gyffredinol â'i gapasiti. Po fwyaf o geisiadau y mae gweinydd yn eu derbyn, yr uchaf yw'r pwysau. Er enghraifft, mae gweinydd sydd â gwerth pwysau o ddau yn derbyn dwywaith cymaint o geisiadau â gweinydd sydd â gwerth pwysau o un.
- Sesiwn Gludiog: Mae'r dull hwn, a elwir hefyd yn dyfalbarhad sesiwn, yn cysylltu rhai cleientiaid a gweinyddwyr trwy gydol sesiwn. I sefydlu'r cyswllt, mae'r cydbwysydd llwyth yn defnyddio cwci neu gyfeiriad IP y defnyddiwr i nodi priodoledd defnyddiwr. Unwaith y bydd y cysylltiad wedi'i sefydlu, mae ceisiadau'r defnyddiwr yn cael eu cyfeirio at yr un gweinydd nes i'r sesiwn ddod i ben. Mae hyn yn gwneud y gorau o adnoddau rhwydwaith tra hefyd yn gwella profiad y defnyddiwr.
- Cysylltiadau Lleiaf: Mae'r strategaeth hon yn rhagdybio bod pob cais yn arwain at faich gweinyddwr cyfartal. O ganlyniad, y gweinydd gyda'r nifer lleiaf o geisiadau sy'n derbyn y cais nesaf.
- Hash IP: Mae'r algorithm hwn yn cynhyrchu allwedd hash unigryw yn seiliedig ar gyfeiriadau IP ffynhonnell a chyrchfan y cleient a'r gweinydd. Defnyddir yr allwedd i lwybro'r cais ac mae'n caniatáu ailddechrau cysylltiad coll â'r un gweinydd.
Caledwedd Vs. Cydbwyswyr Llwyth Meddalwedd
Balancer Llwyth Caledwedd
Mae caledwedd ffisegol, fel teclyn, yn cynnwys cydbwyswyr llwyth caledwedd. Mae'r rhain yn llwybrau traffig i weinyddion yn dibynnu ar ffactorau megis nifer y cysylltiadau presennol, defnydd prosesydd, a pherfformiad gweinydd. Mae gan gydbwyswyr llwyth caledwedd gadarnwedd perchnogol y mae'n rhaid ei gynnal a'i ddiweddaru pan fydd fersiynau newydd ac atgyweiriadau diogelwch ar gael.
Mae cydbwyswyr llwyth caledwedd yn aml yn darparu perfformiad a rheolaeth uwch, yn ogystal ag ystod ehangach o alluoedd megis dilysu Kerberos a chyflymiad caledwedd SSL, ond mae angen rhywfaint o arbenigedd rheoli a chynnal a chadw arnynt. Oherwydd bod balanswyr llwyth caledwedd yn llai hyblyg a graddadwy na chydbwyswyr llwyth meddalwedd, mae tueddiad i or-ddarparu balanswyr llwyth caledwedd.
Cydbwysedd Llwyth Meddalwedd
Mae cydbwyswyr llwyth meddalwedd fel arfer yn haws i'w sefydlu na'u cymheiriaid caledwedd. Maent hefyd yn fwy cost-effeithiol a hyblyg, ac maent yn gweithio'n dda gydag amgylcheddau datblygu meddalwedd. Mae'r dull meddalwedd yn caniatáu ichi addasu'r cydbwysedd llwyth i union ofynion eich amgylchedd. Gallai'r hyblygrwydd cynyddol ddod ar draul amser ychwanegol a dreulir yn gosod y cydbwysedd llwyth.
Mae balanswyr meddalwedd yn rhoi mwy o hyblygrwydd i chi wneud addasiadau a diweddariadau na rhai caledwedd, sydd â dull mwy blwch caeedig. Gellir defnyddio peiriannau rhithwir wedi'u rhagbecynnu fel cydbwyswyr llwyth meddalwedd (VMs). Bydd peiriannau rhithwir yn arbed rhywfaint o amser gosod i chi, ond efallai na fydd ganddynt yr holl swyddogaethau sydd ar gael yn eu cymheiriaid caledwedd.
Gweithredu Cydbwyso Llwyth Syml
Byddwn yn defnyddio llyfrgell Spring Cloud i adeiladu apps sy'n cysylltu ag apiau eraill mewn modd llwyth-cytbwys. Wrth brosesu ceisiadau gwasanaeth o bell, gallwn yn hawdd adeiladu cydbwyso llwyth gan ddefnyddio pa bynnag dechneg yr ydym yn ei hoffi. Ystyriwch y cod canlynol fel enghraifft. Byddwn yn dechrau gyda chymhwysiad gweinydd sylfaenol.
Dim ond un pwynt terfyn HTTP fydd gan y gweinydd a bydd yn cael ei weithredu mewn sawl achos. Yna byddwn yn adeiladu ap cleient sy'n defnyddio Load Balancer i ddosbarthu ceisiadau ar draws sawl achos gweinydd.
gweinydd
Rydym yn dechrau gyda sylfaenol Cist gwanwyn cais ar gyfer ein gweinydd enghreifftiol:
I ddechrau, rydym yn chwistrellu newidyn y gellir ei addasu o'r enw instance_ID. Mae hyn yn ein helpu i wahaniaethu rhwng nifer o achosion sy'n gweithredu. Yn dilyn hynny, rydym yn creu un pwynt terfyn HTTP GET sy'n dychwelyd neges ac ID enghraifft.
Bydd yr enghraifft ddiofyn gydag ID 1 yn gweithredu ar borth 8080. Dim ond ychydig o baramedrau rhaglen sydd angen i ni eu hychwanegu i lansio ail enghraifft:
Cwsmeriaid
Gadewch i ni nawr edrych ar y cod cleient. Dyma lle mae Load Balancer yn dod i mewn, felly gadewch i ni ddechrau trwy ei ymgorffori yn ein cais:
Yn dilyn hynny, rydym yn datblygu gweithrediad ServiceInstanceListSupplier. Dyma un o'r rhyngwynebau pwysicaf yn Load Balancer. Mae'n nodi sut rydym yn lleoli achosion gwasanaeth hygyrch.
Byddwn yn caledu dau enghraifft ar wahân o'n gweinydd enghreifftiol yn ein cymhwysiad sampl. Maent yn rhedeg ar yr un system ond yn defnyddio porthladdoedd ar wahân:
Creu dosbarth Ffurfweddu LoadBalancer nawr:
Dim ond un pwrpas sydd gan y dosbarth hwn: mae'n creu adeiladwr WebClient cytbwys llwyth ar gyfer gwneud ceisiadau o bell. Mae ein hanodiad yn defnyddio enw ffug ar gyfer y gwasanaeth.
Mae hyn oherwydd y ffaith ei bod yn debygol na fyddwn yn gwybod yr union enwau gwesteiwr a phorthladdoedd ar gyfer rhedeg achosion o flaen amser. O ganlyniad, rydym yn defnyddio enw ffug fel dalfan, a bydd y fframwaith yn disodli gwybodaeth wirioneddol pan fydd yn dewis enghraifft rhedeg.
Nesaf, gadewch i ni wneud dosbarth Ffurfweddu a fydd yn cael ei ddefnyddio i gyflymu ein cyflenwad enghreifftiau gwasanaeth. Sylwch ein bod yn defnyddio'r un enw arall ag o'r blaen:
Gallwn nawr adeiladu'r cais cleient go iawn. Gadewch i ni anfon 10 ymholiad i'r gweinydd sampl gan ddefnyddio'r ffa WebClient o gynharach:
Gallwn weld o'r allbwn ein bod yn cydbwyso llwyth rhwng dau achos gwahanol:
Cydbwyso Llwyth mewn Microservices
Mae pensaernïaeth microwasanaeth yn cael ei ddefnyddio gan sawl cwmni, fel Netflix ac Amazon, i ddatblygu cymwysiadau busnes fel set o wasanaethau sydd â chysylltiadau llac. Dim ond dau o'r rhesymau dros symud i'r bensaernïaeth ddosranedig hon sydd â chysylltiadau llac yw hyperscale a darpariaeth barhaus ar gyfer cymwysiadau cymhleth.
Mae timau'r mentrau hyn wedi gweithredu strategaethau Agile a DevOps er mwyn cynhyrchu apps yn gyflymach a chyda chyfradd fethiant is na dulliau traddodiadol. Fodd bynnag, rhaid i chi daro cydbwysedd rhwng cymhlethdod y bensaernïaeth ddosbarthedig a gofynion y cais, gofynion graddfa, a chyfyngiadau amser-i-farchnad.
Ers cymaint o flynyddoedd, mae rheolwyr cyflwyno cymwysiadau (ADCs) wedi bod yn hanfodol i fodloni gofynion lefel gwasanaeth ar gyfer cymwysiadau corfforaethol a gynhelir ar y safle neu yn y cwmwl. Nid oes angen i gleient sy'n ymgysylltu â chymhwysiad sy'n seiliedig ar ficrowasanaethau wybod am yr achosion sy'n ei ddarparu er mwyn tyfu'r cleient a microwasanaethau yn annibynnol.
Dyma'n union y datgysylltu a ddarperir gan ddirprwy gwrthdro neu gydbwysydd llwyth. Unwaith eto, cydbwyso llwyth yw'r ateb ar gyfer sicrhau y gall microwasanaethau drin galw, diogelwch ac argaeledd.
Pan fyddwch chi'n cyfuno cydbwyso llwyth traddodiadol rhwng y Gogledd a'r De rhwng apiau sy'n seiliedig ar gleientiaid a microwasanaethau â defnydd Dwyrain-Gorllewin ar gyfer graddadwyedd llorweddol, rydych chi'n cael hwb sylweddol. Yr amcan yw cynnal yr amgylchedd diogel a rheoledig sy'n ofynnol gan TG heb aberthu ystwythder datblygu neu Awtomeiddio DevOps Gofynion.
Manteision
Mae cydbwyso llwyth yn darparu buddion amrywiol trwy wella'r defnydd o adnoddau, cyflwyno data, ac amser ymateb ar gyfer gwefannau ac apiau traffig uchel, yn ogystal â chronfeydd data sy'n cael nifer fawr o ymholiadau. Mae cydbwyso llwyth yn sicrhau bod ceisiadau defnyddwyr yn cael eu cyflawni'n gyflym ac yn gywir mewn senarios traffig uchel.
Maent yn arbed defnyddwyr rhag y gwaethygiad o ddelio â rhaglenni ac adnoddau swrth. Mae cydbwyso llwyth hefyd yn helpu i osgoi amser segur a symleiddio diogelwch, gan leihau'r risg o gynhyrchiant ac enillion coll i'ch cwmni.
- Mae cydbwyso llwyth yn rhoi'r hyblygrwydd i ychwanegu a thynnu gweinyddwyr yn ôl y galw, yn ogystal â rheoli traffig i'r effeithlonrwydd gorau posibl. Oherwydd bod traffig yn cael ei ddargyfeirio i weinyddion eraill yn ystod gwaith cynnal a chadw, mae hefyd yn ymarferol cynnal a chadw gweinyddwyr heb amharu ar ddefnyddwyr.
- Mae cydbwyso llwyth yn darparu diswyddiad adeiledig trwy rannu traffig rhwng set o weinyddion. Gallwch chi ddargyfeirio'r llwyth ar unwaith i weinyddion eraill os bydd un yn methu, gan leihau'r effaith ar ddefnyddwyr.
- Os bydd defnydd cymhwysiad neu wefan yn cynyddu, gallai'r traffig cynyddol ddiraddio ei berfformiad os na chaiff ei drin yn effeithiol. Gyda chydbwyso llwyth, gallwch ychwanegu gweinydd go iawn neu rithwir i ateb y galw heb amharu ar y gwasanaeth. Mae'r cydbwysydd llwyth yn nodi gweinyddwyr newydd wrth iddynt ddod ar-lein ac yn eu hymgorffori'n ddiymdrech yn y gweithrediad. Mae'r dull hwn yn well na mudo gwefan o weinydd sydd wedi'i orlwytho i un newydd, sy'n aml yn golygu rhywfaint o amser segur.
Casgliad
Mae cydbwyso llwyth yn elfen hanfodol o systemau cyfoes sy'n gallu goddef diffygion. Yn syml, gallwn adeiladu apiau sy'n dosbarthu ceisiadau i achosion lluosog o wasanaeth gan ddefnyddio dulliau cydbwyso llwyth amrywiol. Rhaid i fusnesau gefnogi systemau TG cymhleth er mwyn darparu cymwysiadau'n ddiogel.
Gall cyfluniad, defnydd a chynnal a chadw microwasanaethau traws-barth fod yn agored i gamgymeriadau, yn ddrud ac yn cymryd llawer o amser. Dylai TG ddefnyddio arferion gorau a thechnolegau awtomeiddio, gwelededd, dadansoddeg, ac offeryniaeth sy'n gydnaws â'u prosesau ystwyth a DevOps i wneud sefydlu a chynnal y microwasanaethau hyn yn haws.
Gadael ymateb