M'ndandanda wazopezekamo[Bisani][Show]
Kupezeka kwa mapulogalamu sikunatengedwe mozama monga momwe zilili masiku ano pamene timagwiritsa ntchito mapulogalamu kuposa kulankhulana, kaya payekha kapena akatswiri komanso pamene mapulogalamu ndi bizinesi.
Mapulogalamu omwe sakhala pa intaneti nthawi zonse, kapena osakhazikika, amataya ogwiritsa ntchito komanso kufunika kwake, pamapeto pake amatha ntchito. Zinachitika mwadzidzidzi. Chifukwa intaneti simagona ndipo imagwira ntchito maola 24 patsiku, masiku 7 pa sabata, lingaliro lomwelo liyenera kugwira ntchito pamapulogalamu.
Scalability ndiyofunikira kuti muchite izi ndikutsimikizira kupezeka kwa ntchito. Kulinganiza katundu ndi chimodzi mwazinthu zofunika kwambiri pakuwonetsetsa kupezeka. Anthu ambiri amakhulupirirabe kuti kuwongolera katundu kumatha kukwaniritsidwa ndi script yosavuta.
Komabe, izi sizili choncho. Ndilo lokha limapereka mwayi wopeza mapulogalamu padziko lonse lapansi - nthawi iliyonse komanso kuchokera ku chipangizo chilichonse.
Mu positi iyi, tiwona mozama za kusanja katundu, ma aligorivimu ake, ndi momwe zimagwirizanirana ndi ma microservices, mwa zina. Tiyeni tiyambe!
Kodi kusanja katundu ndi chiyani?
Pamene kufunikira kwa tsamba la webusayiti kapena ntchito yamabizinesi kukukulirakulira, seva imodzi posachedwa siyitha kuthana ndi katundu wonse. Mabungwe amagawira ntchito pa ma seva ambiri kuti akwaniritse zomwe akufuna. Njirayi, yomwe imadziwika kuti "load balancing," imalepheretsa seva imodzi kuti isalemedwe, zomwe zingapangitse kuti ichedwe, kutsitsa zopempha, kapenanso kuwonongeka.
Load balancing imagawa kuchuluka kwa magalimoto pamanetiweki mofanana kuti zisalephereke chifukwa cha kuchuluka kwa zinthu. Mapulogalamu, mawebusayiti, nkhokwe, ndi zida zina zamakompyuta zimagwira bwino ntchito ndipo zimapezeka zambiri pogwiritsa ntchito njirayi. Imathandiziranso kukonza moyenera komanso munthawi yake zopempha za ogwiritsa ntchito.
Kuchokera pamalingaliro a wogwiritsa ntchito, kusanja kwa katundu kumakhala ngati mkhalapakati wosawoneka pakati pa kasitomala ndi gulu la ma seva, kuonetsetsa kuti zopempha zolumikizana sizitayidwa. Mapulogalamu, mawebusayiti, nkhokwe, ndi ntchito zapaintaneti zitha kugwa ngati kufunikira kukakhala kwakukulu popanda kulinganiza katundu.
Mazana masauzande ofunsira ogwiritsa ntchito amatha kutumizidwa ku tsamba limodzi lomwe lili ndi anthu ambiri nthawi imodzi. Ma seva angapo amafunikira kuti azitha kudzaza masamba ndi zomwe mwapemphedwa, monga zolemba, zithunzi, makanema, ndi makanema. Kulinganiza katundu kumagwiritsidwa ntchito m'mafamu a seva omwe ali ndi anthu ambiri, komanso ma seva a DNS, databases, ndi masamba a File Transfer Protocol (FTP).
Ngati seva imodzi yalemedwa kwambiri, izi zitha kugwira ntchito bwino kapena kugwa. Zosungira katundu zimachepetsa mwayi wa nthawi yopuma pogawa zopempha za ogwiritsa ntchito mofanana pakati pa ma seva. Ngati imodzi mwa ma seva mu gulu ikulephera, magalimoto amatumizidwa ku ma seva ena pagulu. Wowongolera katundu amangowonjezera ma seva atsopano munjira yogawa magalimoto akawonjezedwa ku dziwe la seva.
Kodi kusanja katundu kumagwira ntchito bwanji?
Zimagwira ntchito motere:
- Wogula akalandira pempho, monga kudzera pa msakatuli kapena pulogalamu, amayesa kulumikizana ndi seva.
- Wolinganiza katundu akalandira pempho, amatumiza ku seva imodzi mu gulu la seva kutengera machitidwe okhazikitsidwa ndi algorithm (kapena famu).
- Seva imalandira pempho lolumikizana ndikuyankha kasitomala kudzera muzowongolera zolemetsa.
- Pamene katundu wolemetsa alandira yankho, amafanana ndi adilesi ya IP ya kasitomala ndi adilesi ya IP ya seva yosankhidwa. Pambuyo pake, yankho limatumizidwa ndi paketi.
- Kutsitsa kwa SSL ndi njira yosinthira deta pogwiritsa ntchito protocol ya Security Socket Layer encryption kuti ma seva asamachite.
- Njirayi imabwerezedwa mpaka gawolo litatha.
Katundu Kusanja Njira
Kuti musankhe ma seva omwe ali mu famu ya seva amalandira pempho lotsatira, njira iliyonse yolemetsa yonyamula katundu imagwiritsa ntchito ndondomeko. Pali njira zisanu zofananira zolemetsa:
- Kuzungulira Robin: Iyi ndi njira yokhazikika, ndipo imagwira ntchito momwe imamvekera. Woyendetsa katunduyo amagawira zopempha mozungulira, kuyambira ndi seva yoyamba mu gulu ndikupita pansi, kumene amadikirira kuyitanidwanso. Njirayi imatsimikizira kuti seva iliyonse ikugwira ntchito yofanana yolumikizana.
- Wolemera Round Robin: Njirayi imapatsa seva iliyonse kulemera (kapena zokonda) zomwe nthawi zambiri zimakhala zogwirizana ndi mphamvu zake. Zopempha zambiri zomwe seva imalandira, zimalemera kwambiri. Mwachitsanzo, seva yokhala ndi mtengo wolemera wa ziwiri imalandira zopempha zowirikiza kawiri monga seva yokhala ndi kulemera kwa mtengo umodzi.
- Gawo Lomata: Njirayi, yomwe imadziwikanso kuti kulimbikira kwa gawo, imagwirizanitsa makasitomala ena ndi ma seva kwa nthawi yonse ya gawo. Kuti akhazikitse ulalo, woletsa katundu amagwiritsa ntchito cookie kapena adilesi ya IP ya wogwiritsa ntchito kuti adziwe zomwe akugwiritsa ntchito. Kulumikizana kukakhazikitsidwa, zopempha za wogwiritsa ntchito zimatumizidwa ku seva yomweyo mpaka gawolo litatha. Izi zimakhathamiritsa zopezeka pa netiweki pomwe zimathandiziranso ogwiritsa ntchito.
- Kulumikizana kocheperako: Njira iyi ikuganiza kuti zopempha zonse zimabweretsa katundu wofanana wa seva. Chotsatira chake, seva yokhala ndi chiwerengero chochepa kwambiri cha zopempha chimalandira pempho lotsatira.
- IP Hash: Algorithm iyi imapanga kiyi yapadera ya hashi kutengera kasitomala ndi magwero a seva ndi ma adilesi a IP komwe akupita. Kiyiyo imagwiritsidwa ntchito poyendetsa pempholi ndipo imalola kuti kulumikizana kotayika ndi seva yomweyo kuyambitsidwenso.
Zida za Hardware Vs. Mapulogalamu Katundu Balancers
Hardware Load Balancer
Zida zakuthupi, monga chida, zimapanga zolemetsa za Hardware. Njira izi zimayendera ma seva kutengera zinthu monga kuchuluka kwa maulumikizidwe omwe alipo, kugwiritsa ntchito purosesa, ndi magwiridwe antchito a seva. Zowongolera katundu wa Hardware zili ndi firmware yake yomwe imayenera kusamalidwa ndikusinthidwa mitundu yatsopano ndi zosintha zachitetezo zikapezeka.
Zowongolera katundu wa Hardware nthawi zambiri zimapereka magwiridwe antchito apamwamba komanso kuwongolera, komanso kuthekera kochulukirapo monga kutsimikizika kwa Kerberos ndi kuthamangitsa kwa hardware ya SSL, koma zimafunikira luso la kasamalidwe ndi kukonza. Chifukwa ma balancers olemetsa ma Hardware ndi osavuta kusinthika komanso owopsa kuposa owongolera mapulogalamu, pamakhala chizolowezi chopereka zolemetsa zambiri za hardware.
Software Load Balancer
Ma balancers amtundu wa mapulogalamu nthawi zambiri amakhala osavuta kukhazikitsa kuposa anzawo a hardware. Zimakhalanso zotsika mtengo komanso zosinthika, ndipo zimagwira ntchito bwino ndi malo opangira mapulogalamu. Njira yamapulogalamu imakupatsani mwayi wosinthira makonda anu kuti agwirizane ndi zomwe mukufuna. Kuwonjezeka kwa kusinthasintha kungabwere chifukwa cha nthawi yowonjezera yomwe mumagwiritsa ntchito pokonza cholemetsa cholemetsa.
Ma balancers a mapulogalamu amakupatsirani kusinthasintha kwakukulu kuti mupange zosintha ndi zosintha kuposa za Hardware, zomwe zimakhala ndi njira yotsekeka kwambiri. Makina opakidwatu atha kugwiritsidwa ntchito ngati ma software load balancers (VMs). Makina owoneka bwino amakupulumutsirani nthawi yokhazikitsa, koma sangakhale ndi magwiridwe antchito onse amtundu wawo.
Kugwiritsa Ntchito Kusanja Katundu Wosavuta
Tidzagwiritsa ntchito laibulale ya Spring Cloud kuti kumanga mapulogalamu zomwe zimalumikizana ndi mapulogalamu ena molingana ndi katundu. Pamene tikukonza zopempha zakutali, titha kupanga kusanja katundu pogwiritsa ntchito njira iliyonse yomwe tingafune. Taganizirani malamulo otsatirawa monga chitsanzo. Tiyamba ndi pulogalamu yoyambira ya seva.
Seva idzakhala ndi mathero amodzi a HTTP ndipo idzagwiritsidwa ntchito nthawi zingapo. Kenako tidzapanga pulogalamu yamakasitomala yomwe imagwiritsa ntchito Load Balancer kugawa zopempha pamaseva angapo.
Seva
Timayamba ndi maziko Nsapato za Spring kugwiritsa ntchito seva yathu yachitsanzo:
Kuti tiyambe, timabaya makonda osinthika otchedwa example_ID. Izi zimatithandiza kusiyanitsa pakati pa zochitika zambiri zomwe zikugwira ntchito. Kutsatira izi, timapanga chomaliza cha HTTP GET chomwe chimabweretsa uthenga ndi ID yachitsanzo.
Chochitika chosasinthika chokhala ndi ID 1 chidzagwira ntchito padoko 8080. Tingofunika kuwonjezera magawo angapo a pulogalamu kuti tiyambitsenso kachiwiri:
kasitomala
Tiyeni tsopano tiwone khodi ya kasitomala. Apa ndipamene Load Balancer imabwera, kotero tiyeni tiyambe ndikuyiphatikiza mukugwiritsa ntchito kwathu:
Kutsatira izi, timapanga kukhazikitsa ServiceInstanceListSupplier. Ichi ndi chimodzi mwazofunikira kwambiri mu Load Balancer. Imatchulanso momwe timapezera zochitika zofikirika.
Tilemba molimba magawo awiri osiyana a seva yathu yachitsanzo muzogwiritsa ntchito. Amayenda pamakina omwewo koma amagwiritsa ntchito madoko osiyana:
Pangani kalasi ya LoadBalancerConfiguration tsopano:
Kalasiyi ili ndi cholinga chimodzi chokha: imapanga WebClient yokhazikika kuti ipange zopempha zakutali. Mawu athu ali ndi dzina lopeka pantchitoyi.
Izi ndichifukwa choti sitingadziwe mayina enieni a hostnames ndi madoko ochitira nthawi isanakwane. Zotsatira zake, timagwiritsa ntchito dzina lopeka ngati chosungira, ndipo chimango chidzalowa m'malo mwa chidziwitso chenichenicho ikasankha chochitika.
Kenako, tiyeni tipange kalasi ya Configuration yomwe idzagwiritsidwe ntchito kulimbikitsa kupereka kwachitsanzo chathu. Dziwani kuti timagwiritsa ntchito mawu omwewo monga kale:
Tsopano titha kupanga pulogalamu yeniyeni ya kasitomala. Tiyeni titumize mafunso 10 ku seva yachitsanzo pogwiritsa ntchito nyemba ya WebClient kuyambira kale:
Titha kuwona kuchokera pazotulutsa kuti tikukweza kusinthasintha pakati pa zochitika ziwiri zosiyana:
Katundu Kubalalitsa mu Microservices
Zomangamanga za Microservice zikugwiritsidwa ntchito ndi makampani angapo, monga Netflix ndi Amazon, kupanga mabizinesi ngati gulu la mautumiki olumikizidwa mosasamala. Hyperscale ndi kuperekera kosalekeza kwa mapulogalamu ovuta ndi ziwiri zokha mwazifukwa zosamukira ku zomangamanga zogawidwa, zolumikizidwa momasuka.
Magulu am'mabizinesiwa agwiritsa ntchito njira za Agile ndi DevOps kuti apange mapulogalamu mwachangu komanso motsika kwambiri kuposa njira zachikhalidwe. Komabe, muyenera kukhala ndi malire pakati pa zovuta za zomangamanga zomwe zagawidwa ndi zomwe mukufuna kugwiritsa ntchito, kuchuluka kwa zofunikira, komanso malire a nthawi ndi msika.
Kwa zaka zambiri, olamulira operekera ntchito (ADCs) akhala ofunikira kuti akwaniritse zofunikira pazantchito zamakampani zomwe zimachitikira pamalo kapena pamtambo. Makasitomala akugwiritsa ntchito ma microservices safunika kudziwa nthawi yomwe akupereka kuti akulitse kasitomala ndi ma microservices okha.
Uku ndiye kuphatikizika komwe kumaperekedwa ndi reverse proxy kapena chojambulira katundu. Apanso, kuwongolera katundu ndiye yankho lowonetsetsa kuti ma microservices amatha kuthana ndi kufunikira, chitetezo, ndi kupezeka.
Mukaphatikiza kusanja kwanthawi zonse kwa North-South pakati pa kasitomala ndi mapulogalamu ang'onoang'ono opangidwa ndi ma microservices ndi kutumizidwa kwa East-West kuti scalability ikhale yopingasa, mumalimbikitsidwa kwambiri. Cholinga chake ndikusunga malo otetezeka komanso oyendetsedwa bwino omwe amafunikira ndi IT popanda kusiya luso lachitukuko kapena DevOps zokha zofunikira.
ubwino
Kusanja katundu kumapereka mapindu osiyanasiyana pokonza kagwiritsidwe ntchito ka zinthu, kutumiza deta, ndi nthawi yoyankha pamasamba ndi mapulogalamu omwe ali ndi anthu ambiri, komanso ma database omwe amapeza mafunso ambiri. Kusanja katundu kumatsimikizira kuti zopempha za ogwiritsa ntchito zimakwaniritsidwa mwachangu komanso molondola m'malo omwe ali ndi magalimoto ambiri.
Amapulumutsa ogwiritsa ntchito kuwonjezereka kwakuchita ndi mapulogalamu aulesi ndi zothandizira. Kuwongolera katundu kumathandizanso kupewa nthawi yotsika komanso kufewetsa chitetezo, kutsitsa chiwopsezo chakutaya zokolola ndi phindu la kampani yanu.
- Kuwongolera katundu kumapereka mwayi wowonjezera ndi kuchotsa ma seva monga momwe amafunira, kuwonjezera pa kuyang'anira kuchuluka kwa magalimoto kuti agwire bwino ntchito. Chifukwa magalimoto amapatutsidwa kumaseva ena panthawi yokonza, ndizothekanso kukonza seva popanda kusokoneza ogwiritsa ntchito.
- Kulinganiza katundu kumapereka kubwezeredwa kwapang'onopang'ono pogawa kuchuluka kwa magalimoto pakati pa ma seva. Mutha kupatutsa katunduyo nthawi yomweyo kumaseva ena ngati wina akulephera, kuchepetsa kukhudzidwa kwa ogwiritsa ntchito.
- Ngati ntchito kapena tsamba lawebusayiti likukula, kuchuluka kwa kuchuluka kwa anthu kumatha kusokoneza magwiridwe antchito ake ngati sikunasamalidwe bwino. Ndi kusanja kwa katundu, mutha kuwonjezera seva yeniyeni kapena yeniyeni kuti mukwaniritse zofunikira popanda kusokoneza ntchito. Cholemetsa cholemetsa chimazindikira ma seva atsopano akabwera pa intaneti ndipo mosavutikira amawaphatikiza pakugwira ntchito. Njirayi ndi yabwino kusamutsa tsamba kuchokera pa seva yolemetsa kupita ku yatsopano, yomwe nthawi zambiri imakhala ndi nthawi yopumira.
Kutsiliza
Kulinganiza katundu ndi gawo lofunika kwambiri la machitidwe amakono, olekerera zolakwika. Titha kungopanga mapulogalamu omwe amagawa zopempha kuzinthu zingapo pogwiritsa ntchito njira zosiyanasiyana zosinthira katundu. Mabizinesi amayenera kuthandizira machitidwe ovuta a IT kuti athe kupereka mapulogalamu mosatetezeka.
Kukonzekera kwa ma microservices a Cross-domain, kutumiza, ndi kukonza kungakhale kolakwika, kokwera mtengo, komanso kuwononga nthawi. IT iyenera kugwiritsa ntchito makina, mawonekedwe, analytics, ndi luso laukadaulo loyimba zomwe zimagwirizana ndi njira zawo zamakedzana komanso za DevOps kuti kukhazikitsa ndi kukonza ma microservices kukhala kosavuta.
Siyani Mumakonda