Zviri Mukati[Viga][Ratidza]
Kuwanikwa kwezvikumbiro hakuna kumbobvira kwatorwa zvakakomba sezvazviri nhasi kana isu tichishandisa maapplication kune zvinopfuura kungotaurirana, ingave yemunhu kana nyanzvi uye kana maapplication ari bhizinesi.
Maapplication asingagare ari online, kana asina kugadzikana, anorasikirwa nevashandisi vawo uye kukosha kwawo, anopedzisira asisashande. Zvakaitika nekukasira. Nekuti iyo internet haina kumborara uye inoshanda maawa makumi maviri nemana pazuva, mazuva manomwe pasvondo, pfungwa imwe chete inofanirwa kushanda kumaapps.
Scalability yakakosha pakuita izvi uye kuvimbisa kuwanikwa kweapp. Load balancing ndechimwe chezvinhu zvakakosha pakuona kuwanikwa. Vanhu vazhinji vachiri kutenda kuti kuyera kuenzanisa kunogona kuitwa ne script nyore.
Zvisinei, izvi hazvisizvo. Iyo yega inopa mukana kune zvirongwa pasi rese - chero nguva uye kubva chero mudziyo.
Mune ino positi, isu tichatarisa zvakadzama kuyera kuyera, maalgorithms ayo, uye kuti ane hukama sei nemamicroservices, pakati pezvimwe zvinhu. Ngatitange!
Chii chinonzi load balancing?
Sezvo kudiwa kwewebhusaiti kana bhizinesi application kuchikura, sevha imwe chete ichakurumidza kutadza kubata mutoro wese. Masangano anogovera basa pamusoro pemaseva akawanda kuitira kugutsa zvinodiwa. Iyi nzira, inozivikanwa se "load balancing," inochengetedza sevha imwe chete kubva pakuremerwa, izvo zvinogona kuita kuti inonoke, kudonhedza zvikumbiro, kana kuparara.
Load balancing inogovera network traffic zvakaenzana kudzivirira kutadza nekuda kwekuremerwa nezviwanikwa. Zvishandiso, mawebhusaiti, dhatabhesi, uye zvimwe zviwanikwa zvekombuta zvinoita zvirinani uye zvinowanikwa zvakanyanya uchishandisa nzira iyi. Iyo inobatsirawo mukugadzirisa kwakakodzera uye nenguva kwezvikumbiro zvemushandisi.
Kubva pakuona kwemushandisi, kuenzanisa kwemutoro kunoshanda semurevereri asingaonekwe pakati pemutengi uye muunganidzwa wemaseva, kuve nechokwadi chekuti zvikumbiro zvekubatanidza hazvidonhwe. Zvishandiso, mawebhusaiti, dhatabhesi, uye masevhisi epamhepo zvingangodonha kana kudiwa kwakawedzera pasina kuyera kuyera.
Mazana ezviuru zvezvikumbiro zvevashandisi zvinogona kutumirwa kune imwe chete yepamusoro-traffic webhusaiti panguva imwe chete. Masevha akawanda anodiwa kuti anyatso kuzadza mapeji ewebhu nezvakakumbirwa, senge mameseji, mifananidzo, vhidhiyo, uye odhiyo kutenderera. Kuenzanisa kwemutoro kunowanzo shandiswa mumapurazi ewebhusaiti epamusoro-soro, pamwe nemaseva eDNS, dhatabhesi, uye File Transfer Protocol (FTP) masaiti.
Kana sevha imwe chete yakaremerwa, izvi zvinogona kushanda zvisina kunaka kana kutoparara. Mitoro inoremedza inoderedza mukana wekuderera nekugovera zvikumbiro zvevashandisi zvakaenzana pakati pemuunganidzwa wemaseva. Kana imwe yemaseva ari muboka ikatadza, traffic inodzoserwa kune mamwe maseva muboka. A load balancer anowedzera maseva matsva muhurongwa hwekugovera traffic kana awedzerwa kune server pool.
Kuyera kuenzanisa kunoshanda sei?
Inoshanda sezvinotevera:
- Kana mutengi agamuchira chikumbiro, senge kuburikidza nebrowser kana application, inoedza kubatana neserver.
- Kana muyedzo wemutoro ukagamuchira chikumbiro, unochiendesa kune imwe yemaseva ari muboka reseva zvichibva pamatanho akaiswa nealgorithm (kana purazi).
- Sevha inogamuchira chikumbiro chekubatanidza uye inopindura mutengi kuburikidza nemuyero wemutoro.
- Kana muyedzo wemutoro ukagamuchira mhinduro, inofanana ne IP kero yemutengi ne IP kero ye server yakasarudzwa. Kutevera izvozvo, mhinduro inofambiswa pamwe nepakiti.
- SSL kuburitsa ndiyo maitiro ekubvisa data uchishandisa iyo Security Socket Layer encryption protocol kuitira kuti maseva haafanire kudaro.
- Iyo nzira inodzokororwa kusvika chirongwa chapera.
Load Bancing Methods
Kuti usarudze kuti ndeupi wemaseva ari mupurazi reseva anogamuchira chikumbiro chinotevera, imwe neimwe nzira yekuenzanisa mitoro inoshandisa seti yemaitiro. Pane nzira shanu dzakajairwa dzekuenzanisa mitoro:
- Kutenderera Robin: Iyi ndiyo nzira yakasarudzika, uye inoshanda sekunzwika kwayo. Mutakuri wemutoro anogovera zvikumbiro nenzira inotenderera, kutanga neyekutanga server muboka uye ichienda pasi pasi, kwainomirira kudaidzwa zvakare. Iyi nzira inovimbisa kuti sevha yega yega iri kubata zvakaenzana nhamba yekubatanidza.
- Weighted Round Robin: Iyi nzira inopa sevha yega yega huremu (kana sarudzo) iyo inowanzoenderana nekugona kwayo. Iyo yakawanda mikumbiro inogashira sevha, iyo inokwirisa uremu. Semuenzaniso, sevha ine huremu huremu hwembiri inogamuchira zvakapetwa kaviri zvikumbiro sevhavha ine huremu huremu hweimwe.
- Sticky Session: Iyi nzira, inozivikanwawo sesesheni kushingirira, inobatanidza vamwe vatengi uye maseva kwenguva yechikamu. Kumisikidza chinongedzo, muyedzo wemutoro anoshandisa cookie kana IP kero yemushandisi kuona mushandisi hunhu. Kana iyo yekubatanidza yasimbiswa, zvikumbiro zvemushandisi zvinonangidzirwa kune imwechete server kusvika chikamu chapera. Izvi zvinokwidziridza zviwanikwa zvetiweki uku uchivandudza ruzivo rwemushandisi.
- Zvisina kubatana: Iri zano rinofungidzira kuti zvikumbiro zvese zvinoguma neakaenzana server mutoro. Nekuda kweizvozvo, sevha ine nhamba diki yezvikumbiro inogamuchira chinotevera chikumbiro.
- IP Hash: Iyi algorithm inogadzira yakasarudzika hashi kiyi yakavakirwa pane mutengi uye server sosi uye kwainoenda IP kero. Kiyi inoshandiswa kufambisa chikumbiro uye inobvumira yakarasika yekubatanidza nesavha imwechete kuti itangezve.
Hardware Vs. Software Load Balancers
Hardware Load Balancer
Zvenyama zvenyama, senge mudziyo, zvinogadzira Hardware mitoro miyero. Idzi nzira dzetraffic kumaseva zvinoenderana nezvinhu zvakaita sehuwandu hwekubatanidza huripo, kushandiswa kwe processor, uye server performance. Hardware load balanceers ine proprietary firmware iyo inofanirwa kuchengetedzwa uye kuvandudzwa kana shanduro itsva uye kuchengetedzwa kwekugadzirisa kunowanikwa.
Hardware mutoro mabharari anowanzo kupa kushanda kwepamusoro uye kutonga, pamwe nehupamhi hwakakura hwehunyanzvi hwakadai seKerberos authentication uye SSL hardware kukwidziridza, asi ivo vanoda imwe nhanho yekutarisira nekugadzirisa hunyanzvi. Nekuti hardware mitoro inoremedza isingachinjiki uye inokamhina kupfuura software inoremedza zviremera, pane hunhu hwekupfuura-kugovera hardware mutoro zviremera.
Software Load Balancer
Software mitoro mabharani anowanzo kuve nyore kumisikidza pane avo e Hardware. Ivo zvakare vanodhura-inoshanda uye vanochinjika, uye vanoshanda nemazvo nenzvimbo dzekuvandudza software. Iyo software nzira inobvumidza iwe kugadzirisa iyo inoremedza inorema kune yako nharaunda zvinodiwa chaizvo. Iko kuwedzera kuchinjika kunogona kuuya nekudhura kweimwe nguva yakashandiswa kumisikidza mitoro yekuenzanisa.
Madhizaini eSoftware anokupa iwe kuchinjika kukuru kuita zvigadziriso uye zvigadziriso pane zvehardware, zvine nzira yakavharwa-bhokisi. Prepackaged virtual machines inogona kushandiswa sesoftware load balancers (VMs). Michina yeVirtual ichakuchengetera imwe nguva yekumisikidza, asi inogona kunge isina yese yekushanda inowanikwa mune yavo Hardware.
Nyore Mutoro Kuenzanisa Implementation
Isu tichashandisa iyo Spring Cloud raibhurari kuti kuvaka mapurogiramu iyo inobatana kune mamwe maapplication nenzira yakaringana. Tichiri kugadzirisa zvikumbiro zvesevhisi kure, isu tinogona nyore kugadzira kuyera kuyera tichishandisa chero nzira yatinoda. Chimbofunga kodhi inotevera semuenzaniso. Tichatanga neiyo basic server application.
Sevha inongove neiyo HTTP endpoint uye ichashandiswa mune akati wandei. Zvadaro tichavaka mutengi app inoshandisa Load Balancer kugovera zvikumbiro pane akati wandei masevha.
Server
Tinotanga nechinhu chinokosha Bhoti yechirimo application yemuenzaniso wedu server:
Kutanga, tinobaya jira rinogoneka rinodaidzwa kuti example_ID. Izvi zvinotibatsira kusiyanisa pakati pezviitiko zvakawanda zviri kushanda. Kutevera izvozvo, isu tinogadzira imwechete HTTP GET endpoint inodzosera meseji uye muenzaniso ID.
Iyo yekusarudzika chiitiko ine ID 1 ichashanda pachiteshi 8080. Isu tinongoda kuwedzera mashoma echirongwa maparamita kuti titange kechipiri muenzaniso:
munhu anoda kubetserwa
Ngatitarisei ikodhi yemutengi. Apa ndipo panouya Load Balancer, saka ngatitangei nekuisanganisa mukushandisa kwedu:
Kutevera izvozvo, isu tinogadzira kushandiswa kweServiceInstanceListSupplier. Iyi ndiyo imwe yeanonyanya kukosha interfaces muLoad Balancer. Inotsanangura mawaniro atinoita masevhisi anowanikwa.
Tichaomesera-kodhi maviri akapatsanurwa emuenzaniso sevha mune yedu muenzaniso application. Ivo vanomhanya pane imwecheteyo sisitimu asi vanoshandisa akasiyana madoko:
Gadzira kirasi yeLoadBalancerConfiguration ikozvino:
Kirasi iyi ine chinangwa chimwe chete: inogadzira inorema-yakaenzana WebClient muvaki wekuita zvikumbiro zviri kure. Tsanangudzo yedu inoshandisa zita rekunyepedzera pasevhisi.
Izvi zvinokonzerwa nekuti isu hatinga nyanya kuziva iwo chaiwo mazita evatambi uye madoko ekumhanya zviitiko mberi kwenguva. Nekuda kweizvozvo, isu tinoshandisa zita rekunyepedzera sechibatiso, uye chimiro chinotsiva ruzivo chairwo kana chasarudza chiitiko chinomhanya.
Tevere, ngatiite Configuration kirasi iyo ichashandiswa kusimbisa yedu sevhisi muenzaniso wekupa. Ziva kuti isu tinoshandisa zvakafanana alias sepakutanga:
Isu tinogona ikozvino kuvaka iyo chaiyo mutengi application. Ngatitumirei mibvunzo gumi kumuenzaniso server tichishandisa WebClient bhinzi kubva kare:
Isu tinogona kuona kubva pane zvakabuda kuti isu tinoremedza kuenzanisa pakati pezviitiko zviviri zvakasiyana:
Load Bancing muMicroservices
Microservice architecture iri kushandiswa nemakambani akati wandei, seNetflix neAmazon, kugadzira mabhizinesi maapplication seti yemasevhisi akabatana zvakasununguka. Hyperscale uye kuenderera mberi kwekutumira kune yakaoma maapplication ndizvo zviviri chete zvezvikonzero zvekutamira kune ino yakagoverwa, yakasununguka yakabatana dhizaini.
Zvikwata zvemabhizinesi izvi zvakashandisa nzira dzeAgile neDevOps kuitira kuti vagadzire maapplication nekukurumidza uye nechiyero chakaderera chekutadza kupfuura nzira dzechinyakare. Nekudaro, iwe unofanirwa kuyera chiyero pakati pekuomeserwa kwekuvaka uye kuomarara kwechishandiso, zvikero zvinodikanwa, uye nguva-ku-musika zvipimo.
Kwemakore akawanda kudaro, maapplication delivery controllers (ADCs) anga akakosha kusangana nesevhisi-level zvinodiwa zvemakambani maapplication anoitirwa pa-nzvimbo kana mugore. Mutengi ari kuita ne microservices-based application haafanire kuziva nezve mamiriro arikupa iwo kuti akure mutengi uye mamicroservices akazvimiririra.
Uku ndiko kudhirowa kwakapihwa nereverse proxy kana loader balancer. Zvekare, kuyera kuyera ndiyo mhinduro yekuona kuti microservices inogona kubata kudiwa, kuchengetedzeka, uye kuwanikwa.
Paunosanganisa zvechinyakare North-South mutoro kuenzanisa pakati pemutengi uye microservices-yakavakirwa maapuro neEast-West kuendeswa kune yakachinjika scalability, unowana kukwidziridzwa kwakanyanya. Chinangwa ndechekuchengetedza nharaunda yakachengeteka uye yakadzorwa inodiwa neIT pasina kupa mupiro wekuvandudza agility kana DevOps otomatiki zvinodiwa.
Benefits
Load balancing inopa mabhenefiti akasiyana nekuvandudza mashandisirwo ezviwanikwa, kuendesa data, uye nguva yekupindura kune yakakwira-traffic mawebhusaiti uye maapplication, pamwe nedatabase inowana nhamba yakakura yemibvunzo. Kuyera kuyera kunovimbisa kuti zvikumbiro zvemushandisi zvinozadzikiswa nekukasira uye nemazvo munzvimbo dzine vanhu vakawanda.
Ivo vanochengetedza vashandisi kuwedzera kwekubata neusimbe zvirongwa uye zviwanikwa. Kuenzanisa kwemutoro kunobatsirawo kudzivirira kudzika uye kurerutsa kuchengetedzeka, kudzikisa njodzi yekurasikirwa nekubereka uye mihoro yekambani yako.
- Load balancing inopa kuchinjika kwekuwedzera uye kubvisa maseva sekudiwa kunoraira, mukuwedzera kune manejimendi traffic kuti inyatso shanda. Nekuti traffic inoendeswa kune mamwe maseva panguva yekugadziriswa, zvinogoneka zvakare kuita server kuchengetedza pasina kukanganisa vashandisi.
- Load balancing inopa yakavakirwa-mukati redundancy nekukamura traffic pakati peseti yemaseva. Iwe unogona pakarepo kutsausa mutoro kune mamwe maseva kana imwe ikatadza, ichideredza kukanganisa kune vashandisi.
- Kana application kana kushandiswa kwewebhusaiti kuchikura, kuwanda kwetraffic kunogona kukanganisa kuita kwayo kana ikasabatwa nemazvo. Nekuremedza kuenzanisa, unogona kuwedzera sevha chaiyo kana chaiyo kuti isangane nezvinodiwa pasina kukanganisa sevhisi. Iyo inoremedza balancer inozivisa maseva matsva sezvaanouya online uye asingashande anoabatanidza mukushanda. Iyi nzira inofanirwa kutamisa webhusaiti kubva kune yakaremerwa sevha kuenda kune itsva, iyo inowanzo sanganisira imwe nguva yekudzikira.
mhedziso
Load balancing chinhu chakakosha chemazuva ano, anoshivirira masisitimu. Isu tinogona kungogadzira maapplication anogovera zvikumbiro kune akawanda masevhisi zviitiko tichishandisa nzira dzakasiyana dzekuenzanisa mitoro. Mabhizinesi anofanirwa kutsigira akaomesesa IT masisitimu kuitira kuti ape zvikumbiro zvakachengeteka.
Cross-domain microservices kumisikidza, kuendesa, uye kugadzirisa kunogona kunge kuri kukanganisa, kudhura, uye kutora nguva. IT inofanirwa kushandisa otomatiki, kuoneka, analytics, uye orchestration akanakisa maitiro uye matekinoroji anofambirana neakare uye DevOps maitiro kuita kuti kuseta uye kugadzirisa kweaya mamicroservices kuve nyore.
Leave a Reply