Isiqulatho[Fihla][Bonisa]
Ukufumaneka kwezicelo akuzange kuthatyathwe nzulu njengoko kunjalo namhlanje xa sisebenzisa ii -apps ngaphezu konxibelelwano nje, nokuba zobuqu okanye zobungcali kwaye xa ii-apps zishishini.
Usetyenziso olungasoloko lukwi-intanethi, okanye olungaqinisekanga, lulahlekelwa ngabasebenzisi kunye nokufaneleka, ekugqibeleni luphelelwe lixesha. Yenzeka ngephanyazo. Kuba i-intanethi ayilali kwaye isebenze iiyure ezingama-24 ngosuku, iintsuku ezisi-7 ngeveki, kwaloo mbono kufuneka isebenze kwii-apps.
I-scalability ibalulekile ekwenzeni oku kunye nokuqinisekisa ukufumaneka kwesicelo. Ukulinganisa umthwalo yenye yezona zinto zibalulekileyo ekuqinisekiseni ukufumaneka. Abantu abaninzi basakholelwa ukuba ukulinganisa umthwalo kunokufezekiswa ngeskripthi esilula.
Nangona kunjalo, oku akunjalo. Iyodwa ibonelela ngokufikelela kwiinkqubo kwihlabathi liphela - nangaliphi na ixesha kwaye nakwesiphi na isixhobo.
Kule post, siza kujonga nzulu ukulinganisa umthwalo, ii-algorithms zayo, kunye nendlela enxulumana ngayo nee-microservices, phakathi kwezinye izinto. Masiqale!
Yintoni ukulinganisa umthwalo?
Njengoko imfuno yewebhusayithi okanye isicelo seshishini sikhula, umncedisi omnye ngokukhawuleza akayi kukwazi ukuphatha wonke umthwalo. Imibutho isasaza umthwalo womsebenzi kwiiseva ezininzi ukuze kwaneliswe imfuno. Le ndlela, eyaziwa ngokuba "yi-load balancing," igcina iseva enye ekugxininiseni, nto leyo enokubangela ukuba icothe, iwise izicelo, okanye iphazamiseke.
Ulungelelwaniso lomthwalo lusasaza itrafikhi yothungelwano ngokulinganayo ukunqanda ukusilela ngenxa yokugcwala kwezixhobo. Izicelo, iiwebhusayithi, idatabase, kunye nezinye izixhobo zekhompyuter zisebenza ngcono kwaye zifumaneka ngakumbi ngokusebenzisa le ndlela. Ikwanceda ekuqhubeni ngokufanelekileyo nangexesha izicelo zabasebenzisi.
Ngokombono womsebenzisi, ukulinganisa umthwalo usebenza njengomlamli ongabonakaliyo phakathi komxhasi kunye neqoqo leeseva, ukuqinisekisa ukuba izicelo zoqhagamshelwano azilahlwa. Izicelo, iiwebhusayithi, idatabase, kunye neenkonzo ze-intanethi zinokuwa kakhulu ukuba imfuno ibankulu kakhulu ngaphandle kokulinganisa umthwalo.
Amakhulu amawaka ezicelo zabasebenzisi anokuthunyelwa kwiwebhusayithi enye yetrafikhi ngexesha elinye. Iiseva ezininzi ziyafuneka ukuze zizalise ngokuchanekileyo amaphepha ewebhu ngomxholo oceliweyo, njengokubhaliweyo, imifanekiso, ividiyo, kunye nokuqukunjelwa komsindo. Ulungelelwaniso lomthwalo luqhele ukusetyenzwa kwiifama zeseva yewebhu yetrafikhi ephezulu, kunye neeseva ze-DNS, ii-database, kunye neProtocol Transfer Protocol (FTP) sites.
Ukuba umncedisi omnye unomthwalo omninzi, oku kunokusebenza kakubi okanye kude kube nokuntlitheka. Abalinganisi bomthwalo banciphisa ithuba lokuphumla ngokusabalalisa izicelo zabasebenzisi ngokulinganayo phakathi kwengqokelela yeeseva. Ukuba enye yeeseva kwiqela iyasilela, itrafikhi ibuyiselwa kwezinye iiseva kwiqela. I-balancer yomthwalo wongeza ngokuzenzekelayo iiseva ezintsha kwinkqubo yokusabalalisa i-traffic xa zongezwa kwi-pool pool.
Kusebenza njani ukulinganisa umthwalo?
Isebenza ngolu hlobo lulandelayo:
- Xa umxhasi efumana isicelo, esifana nesikhangeli okanye isicelo, izama ukunxibelelana nomncedisi.
- Xa isilinganisi somthwalo sifumana isicelo, siyasihambisa kwenye yeeseva kwiqela leseva esekwe kwiipateni ezisekiweyo nge-algorithm (okanye ifama).
- Umncedisi ufumana isicelo soqhagamshelwano kwaye uphendula umxhasi ngokusebenzisa isilinganisi somthwalo.
- Xa umlinganisi womthwalo ufumana impendulo, ihambelana nedilesi ye-IP yomthengi kunye nedilesi ye-IP yomncedisi okhethiweyo. Emva koko, impendulo ihanjiswa ngepakethi.
- Ukhuphelo lwe-SSL yinkqubo yokususa uguqulelo oluntsonkothileyo lwedatha usebenzisa iprotocol yoguqulelo oluntsonkothileyo lweSocket Socket ukuze abancedisi banganyanzelekanga.
- Inkqubo iphinda ide iseshoni iphele.
Iindlela zokulinganisa ukulayisha
Ukukhetha ukuba ngabaphi abancedisi kwifama yomncedisi ofumana isicelo esilandelayo, ubuchule bokulinganisa umthwalo ngamnye busebenzisa iseti yeenqobo zokugweba. Kukho iindlela ezintlanu eziqhelekileyo zokulinganisa umthwalo:
- Ujikeleze uRobin: Le yindlela emiselweyo, kwaye isebenza njengoko ivakala. I-balancer yomthwalo isasaza izicelo kwipatheni ejikelezayo, iqala ngomncedisi wokuqala kwiqela kwaye iqhube phantsi ukuya ezantsi, apho ilindele ukubizwa kwakhona. Le ndlela iqinisekisa ukuba umncedisi ngamnye uphatha ngokumalunga nenani elifanayo loqhagamshelwano.
- Weighted Round Robin: Le ndlela inika umncedisi ngamnye ubunzima (okanye ukhetho) oluqhelekileyo ngokulingana nomthamo walo. Izicelo ezininzi ezifunyanwa ngumncedisi, kokukhona ubunzima buphezulu. Ngokomzekelo, umncedisi onexabiso lobunzima besibini ufumana izicelo eziphindwe kabini njengomncedisi onexabiso lobunzima bomnye.
- Iseshoni eNcangathi: Le ndlela, ekwabizwa ngokuba kukuzingisa kweseshoni, idibanisa abaxhasi abathile kunye neeseva ngexesha leseshoni. Ukuseka ikhonkco, umlinganisi womthwalo usebenzisa icookie okanye idilesi ye-IP yomsebenzisi ukuchonga uphawu lomsebenzisi. Nje ukuba uqhagamshelo lusekwe, izicelo zomsebenzisi zibhekiswa kwiseva efanayo de iseshoni iphele. Oku kwandisa izixhobo zenethiwekhi ngelixa ikwaphucula amava omsebenzisi.
- Ubuncinci uQhagamshelwano: Esi sicwangciso sithatha ukuba zonke izicelo zikhokelela kumthwalo olinganayo womncedisi. Ngenxa yoko, umncedisi onelona nani lincinci lezicelo ufumana isicelo esilandelayo.
- IP Hash: Le algorithm yenza isitshixo se-hash esisodwa esisekwe kumxhasi kunye nomthombo womncedisi kunye needilesi ze-IP zokusingwa. Isitshixo sisetyenziselwa ukuhambisa isicelo kwaye sivumela uxhulumaniso olulahlekileyo kunye nomncedisi ofanayo ukuba uqalise.
I-Hardware Vs. ISoftware Load Balancers
Hardware Load Balancer
Ihardware ebonakalayo, njengesixhobo sombane, yenza i-balancers yomthwalo wehardware. Ezi ndlela zetrafikhi kwiiseva ngokuxhomekeke kwizinto ezifana nenani loqhagamshelwano olukhoyo, ukusetyenziswa kweprosesa, kunye nokusebenza kweseva. Abalinganisi bomthwalo we-Hardware bane-firmware yobunini ekufuneka igcinwe kwaye ihlaziywe xa iinguqulelo ezintsha kunye nokulungiswa kokhuseleko kufumaneka.
Izilinganisi zomthwalo we-Hardware zihlala zibonelela ngokusebenza okuphezulu kunye nolawulo, kunye noluhlu olubanzi lwezakhono ezifana nokuqinisekiswa kwe-Kerberos kunye ne-SSL hardware acceleration, kodwa bafuna inqanaba elithile lolawulo kunye nobuchule bokulondoloza. Ngenxa yokuba izilinganisi zomthwalo wehardware aziguquguquki kangako kwaye zinobunzima kunezilinganisi zomthwalo wesoftware, kukho ukuthambekela kokubonelela ngokugqithisileyo komthwalo wehardware.
I-Software Load Balancer
Izilinganisi zomthwalo wesoftware zihlala zilula ukuseta kunoogxa babo behardware. Zikwangabizi kakhulu kwaye ziguquguquke, kwaye zisebenza kakuhle kunye neemeko zophuhliso lwesoftware. Indlela yesoftware ikuvumela ukuba wenze ngokwezifiso isilinganisi somthwalo ngokweemfuno ezichanekileyo zokusingqongileyo. Ukuguquguquka okwandisiweyo kunokuza ngeendleko zexesha elongezelelweyo elichithwe ukuseka isilinganisi somthwalo.
Iibalancers zeSoftware zibonelela ngokuguquguquka okukhulu ukwenza uhlengahlengiso kunye nohlaziyo kunehardware, enendlela yebhokisi evaliweyo. Oomatshini benyani abapakishwe kwangaphambili banokusetyenziswa njengezilinganisi zomthwalo wesoftware (ii-VMs). Oomatshini benyani bayakugcinela ixesha lokucwangcisa, kodwa basenokungabi nakho konke ukusebenza okukhoyo koogxa babo behardware.
UkuPhunyezwa kokuNyelwa koMthwalo olulula
Siza kusebenzisa ithala leencwadi leSpring Cloud ukuze ukwakha apps eziqhagamshela kwezinye ii-apps ngendlela elungelelanisiweyo yomthwalo. Ngelixa sisetyenzwa ngezicelo zenkonzo ekude, sinokwenza lula ukulinganisa umthwalo sisebenzisa nabuphi na ubuchule esibuthandayo. Qwalasela le khowudi ilandelayo njengomzekelo. Siza kuqala ngesiseko sosetyenziso lweseva.
Umncedisi uya kuba nesiphelo se-HTTP esinye kuphela kwaye iya kusetyenziswa kwiimeko ezininzi. Emva koko siya kwakha i-app yomxhasi esebenzisa iLayisha Isilinganisi-mali ukusasaza izicelo kwiimeko ezininzi zeseva.
Umncedisi
Siqala ngesiseko Ukuqala kwentwasahlobo isicelo somzekelo weseva yethu:
Ukuqala, sitofa umahluko owenzekayo obizwa ngokuba yi-example_ID. Oku kusinceda ukuba sahlule phakathi kweemeko ezininzi ezisebenzayo. Ukulandela oko, senza enye i-HTTP GET endpoint ebuyisela umyalezo kunye ne-ID yomzekelo.
Umzekelo ongagqibekanga nge-ID 1 uya kusebenza kwizibuko 8080.
umxhasi
Ngoku makhe sijonge ikhowudi yomxhasi. Kulapho i-Load Balancer ingena khona, ke masiqale ngokuyibandakanya kwisicelo sethu:
Ukulandela oko, siphuhlisa ukuphunyezwa kwe-ServiceInstanceListSupplier. Le yenye yezona zinto zibalulekileyo zojongano kwi-Load Balancer. Ixela indlela esizifumana ngayo iinkonzo ezifikelelekayo.
Siza ku-hard-code imizekelo emibini eyahlukeneyo yomzekelo weseva yethu kwisampulu yesicelo sethu. Zisebenza kwinkqubo efanayo kodwa zisebenzise amazibuko ahlukeneyo:
Yenza iklasi yoLungiselelo lwe-LoadBalancer ngoku:
Le klasi inenjongo enye kuphela: yenza umakhi we-WebClient olungelelanisiweyo wokwenza izicelo ezikude. Inkcazo yethu isebenzisa igama elingeyonyani lenkonzo.
Oku kungenxa yokuba ngokuqinisekileyo asikwazi ukuwazi amagama abamkeli abachanekileyo kunye namazibuko okuqhuba iimeko ngaphambi kwexesha. Ngenxa yoko, sisebenzisa igama elingeyonyani njengesibambi-ndawo, kwaye isakhelo siya kuthatha indawo yolwazi lokwenyani xa sikhetha umzekelo oqhubayo.
Okulandelayo, masenze iklasi yoLungiselelo eya kusetyenziswa ukumisela umzekelo wethu wobonelelo lwenkonzo. Qaphela ukuba sisebenzisa igama elifanayo njengangaphambili:
Ngoku singakha esona sicelo somthengi sokwenyani. Masithumele imibuzo eli-10 kwisampulu yeseva sisebenzisa imbotyi yeWebClient kwasekuqaleni:
Siyabona kwimveliso ukuba silayisha ukulinganisa phakathi kweemeko ezimbini ezahlukeneyo:
Layisha ibhalansi kwiMicroservices
Uyilo lweMicroservice lusetyenziswa ziinkampani ezininzi, njengeNetflix kunye neAmazon, ukuphuhlisa usetyenziso lweshishini njengeseti yeenkonzo eziqhagamshelwe ngokukhululekileyo. I-Hyperscale kunye nokuhanjiswa okuqhubekayo kwezicelo ezinzima zimbini kuphela izizathu zokufudukela kule ndawo isasazwayo, i-architecture edibeneyo.
La maqela amashishini aphumeze izicwangciso ze-Agile kunye ne-DevOps ukwenzela ukuvelisa ii-apps ngokukhawuleza kunye nezinga eliphantsi lokungaphumeleli kuneendlela zendabuko. Nangona kunjalo, kufuneka ulinganise phakathi kobunzima bokwakha obusasaziweyo kunye neemfuno zesicelo, iimfuno zesikali, kunye nokunciphisa ixesha lokuya kwintengiso.
Kangangeminyaka emininzi, abalawuli bonikezelo lwezicelo (ADCs) bebebalulekile ukuhlangabezana neemfuno zomgangatho wenkonzo kwizicelo zequmrhu ezibanjwe kwindawo okanye kwilifu. Umxhasi osebenzisana ne-microservices-based application akufuneki ukuba azi malunga neemeko ezibonelela ngayo ukuze kukhule umxhasi kunye nee-microservices ngokuzimeleyo.
Oku kukudityaniswa kanye okubonelelwa ngummeli ongasemva okanye isilinganisi somthwalo. Kwakhona, ukulinganisa umthwalo sisisombululo sokuqinisekisa ukuba ii-microservices ziyakwazi ukumelana nemfuno, ukhuseleko, kunye nokufumaneka.
Xa udibanisa ulungelelwaniso lomthwalo oqhelekileyo woMntla-Mazantsi phakathi komthengi kunye nee-microservices-based apps kunye nokusasazwa kwe-East-West ukwenzela ukulinganisa okuthe tye, ufumana ukomelela okukhulu. Injongo kukugcina indawo ekhuselekileyo nelawulwayo efunwa yi-IT ngaphandle kokuncama ubugcisa bophuhliso okanye DevOps automation iimfuno.
benefits
Ukulinganisa ukulayisha kubonelela ngeenzuzo ezahlukeneyo ngokuphucula ukusetyenziswa kwezixhobo, ukuhanjiswa kwedatha, kunye nexesha lokuphendula kwiiwebhusayithi ze-traffic eziphezulu kunye ne-apps, kunye nogcino-lwazi olufumana inani elikhulu lemibuzo. Umthwalo wokulinganisa uqinisekisa ukuba izicelo zabasebenzisi zizalisekiswa ngokukhawuleza nangokuchanekileyo kwiimeko zendlela yokuhamba.
Bagcina abasebenzisi ubunzima bokujongana neenkqubo ezinobuvila kunye nezixhobo. Ukulinganisa umthwalo kukwanceda ukunqanda ixesha lokuphumla kunye nokwenza lula ukhuseleko, ukwehlisa umngcipheko wokulahleka kwemveliso kunye nomvuzo wenkampani yakho.
- Ukulinganisa ukulayisha kunika ukuguquguquka kokongeza kunye nokususa iiseva njengoko imfuno iyalela, ukongeza ekulawuleni i-traffic ukusebenza ngokufanelekileyo. Ngenxa yokuba i-traffic ithunyelwa kwezinye iiseva ngexesha lokugcinwa, kuyenzeka kwakhona ukwenza ukugcinwa kweseva ngaphandle kokuphazamisa abasebenzisi.
- Ulungelelwaniso lomthwalo lubonelela nge-redundancy eyakhelwe-ngaphakathi ngokwahlula i-traffic phakathi kweseti yeeseva. Ungaphambukisa ngokukhawuleza umthwalo kwezinye iiseva ukuba umntu uyasilela, ukunciphisa impembelelo kubasebenzisi.
- Ukuba isicelo okanye ukusetyenziswa kwewebhusayithi kuyakhula, ukunyuka kwetrafikhi kunokuthoba intsebenzo yayo ukuba ayiphathwanga kakuhle. Ngokulinganisa umthwalo, unokongeza iseva yangempela okanye ebonakalayo ukuhlangabezana nemfuno ngaphandle kokuphazamisa inkonzo. Isilinganisi somthwalo sichonga iiseva ezintsha njengoko zisiza kwi-intanethi kwaye zibandakanya ngaphandle kokusebenza. Le ndlela ikhethwa ukufuduka kwiwebhusayithi ukusuka kwiseva enomthwalo omkhulu ukuya kwentsha, ehlala ibandakanya ixesha lokuphumla.
isiphelo
Ulungelelwaniso lomthwalo yinxalenye ebalulekileyo yeenkqubo zangoku, ezikwaziyo ukunyamezela iimpazamo. Singenza ngokulula usetyenziso olusasaza izicelo kwiinkonzo ezininzi zeenkonzo sisebenzisa iindlela ezahlukeneyo zokulinganisa umthwalo. Amashishini kufuneka axhase iinkqubo ze-IT ezinzima ukwenzela ukubonelela ngezicelo ngokukhuselekileyo.
Ulungelelwaniso lwe-Cross-domain microservices, ukusasazwa, kunye nokugcinwa kusenokuba neempazamo, kubize kakhulu, kwaye kudle ixesha. I-IT kufuneka isebenzise i-automation, ukubonakala, i-analytics, kunye ne-orchestration eyona ndlela yokusebenza kunye nobuchwepheshe obuhambelanayo kunye neenkqubo zabo ze-DevOps ukwenza ukuseta kunye nokugcinwa kwezi microservices kube lula.
Shiya iMpendulo