Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Waxaan kuu soo jeedinayaa inaad akhrido qoraalka Alexander Sigachev's Report Service Discovery ee nidaamyada la qaybiyay adoo isticmaalaya Qunsulka tusaale ahaan.

Adeegga Daahfurka waxa loo sameeyay si aad kharash yar ugu xidhiddo codsi cusub deegaankayaga jira. Adigoo isticmaalaya Discovery Service, waxaan si weyn uga sooci karnaa weel-xidhaha ama adeegga farsamada iyo deegaanka uu ku dhex socdo.

Waan soo dhawaynayaa qof walba! Waxaan ahay Alexander Sigachev, waxaan ka shaqeeyaa Inventos. Maantana waxaan ku baran doonaa fikradda sida Adeegga Discovery. Aan eegno Adeegga Discovery anagoo adeegsanayna Qunsulka tusaale ahaan.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Waa maxay dhibaatooyinka uu xalliyo Adeegga Discovery? Adeegga Daahfurka waxa loo sameeyay si aad kharash yar ugu xidhiddo codsi cusub deegaankayaga jira. Adigoo isticmaalaya Discovery Service, waxaan si weyn uga sooci karnaa weel-xidhaha ama adeegga farsamada iyo deegaanka uu ku dhex socdo.

Sidee ayay u egtahay? Tusaalaha caadiga ah ee shabakada, tani waa dhamaadka hore ee aqbala codsiga isticmaalaha. Kadibna waxay u sii marisaa dhinaca dambe. Tusaalahan, culeyska-dheellitirkan ayaa dheellitiraya laba dhabar.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Halkan waxaan ku aragnaa inaan bilaabayno mar saddexaad ee codsiga. Sidaas awgeed, marka uu arjiga bilaabmo, waxa uu ku diiwaan gashan yahay Discovery Service. Helitaanka Adeeggu waxa uu ogaysiiyaa culeyska-dheellitirka. Load-balancer ayaa si toos ah u beddesha qaabkeeda oo dhabarka cusub ayaa la hawlgeliyay. Sidan, dhabarka dambe ayaa lagu dari karaa, ama, liddi ku ah, waa laga saarayaa shaqada.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Maxaa kale oo ku habboon in lagu sameeyo Helitaanka Adeegga? Helitaanka Adeeggu wuxuu kaydin karaa habaynta nginx, shahaadooyinka, iyo liiska adeegayaasha dhabarka dambe ee firfircoon.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander SigachevHelitaanka Adeeggu wuxuu sidoo kale kuu oggolaanayaa inaad ogaato guul-darrooyinka oo aad ogaato guul-darrooyinka. Waa maxay qorshayaasha suurtagalka ah ee lagu ogaanayo guul-darrooyinka?

  • Codsigan aan samaynay ayaa si toos ah ogaysiiya Adeegga Discovery in uu wali shaqaynayo.
  • Adeegga Discovery, qaybteeda,, waxay doorataa codsiga helitaanka.
  • Ama waxaan isticmaalnaa qoraal ama codsi qolo saddexaad oo hubisa in la heli karo codsigayaga oo ogaysiiya Helitaanka Adeegga in wax walba ay fiican yihiin oo ay shaqayn karaan, ama, caksigeeda, in wax walbaa xun yihiin oo tusaalahan arjiga loo baahan yahay in laga saaro dheelitirka.

Mid kasta oo ka mid ah nidaamyada waa la isticmaali karaa iyadoo ku xiran nooca software aan isticmaalno. Tusaale ahaan, waxaan hadda bilownay samaynta mashruuc cusub, ka dib waxaan si fudud u bixin karnaa nidaam marka codsigayagu ogeysiiyo Discovery Service. Ama waxaan ku xidhi karnaa in Adeegga Discovery uu hubinayo.

Haddii aan dhaxalno codsiga ama uu sameeyay qof kale, markaa ikhtiyaarka saddexaad ayaa ku habboon marka aan qorayno maamule, oo waxaas oo dhan waxay si toos ah u soo galaan shaqadayada.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Tani waa hal tusaale. Isku-dheellitirka culeyska ee qaabka nginx ayaa dib loo bilaabay. Tani waa adeeg ikhtiyaari ah oo la siiyay Qunsulka. Tani waa qunsulka-template. Waxaan qeexaynaa xeerka. Waxaan leenahay waxaan isticmaaleynaa qaab-dhismeedka Golang Template Engine. Marka ay dhacdooyinku dhacaan, marka ogeysiisyada isbeddelada ay dhaceen, dib ayaa loo soo cusbooneysiiyaa oo amarka "dib-u-celinta" ayaa loo diraa Discovery Service. Tusaalaha ugu fudud waa marka nginx dib loo habeeyo dhacdo oo dib loo bilaabo.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Waa maxay Qunsulka?

  • Marka hore, kani waa Raadinta Adeegga.

  • Waxay leedahay habka hubinta helitaanka - Hubinta Caafimaadka.

  • Waxa kale oo ay leedahay dukaanka KV.

  • Waxayna ku salaysan tahay awoodda isticmaalka Multi Datacenter.

Maxaa waxaas oo dhan loo isticmaali karaa? Bakhaarka KV waxaan ku kaydin karnaa tusaale ahaan habaynta. Hubinta caafimaadka waanu hubin karnaa adeega deegaanka oo aan ogeysiin karnaa. Multi Datacenter waxa loo isticmaalaa si khariidad adeeg loo dhiso. Tusaale ahaan, Amazon waxay leedahay dhowr aag iyo waddooyin taraafikada ah sida ugu wanaagsan si aysan jirin codsiyo aan loo baahnayn oo u dhexeeya xarumaha xogta, kuwaas oo si gooni ah looga dalaco taraafikada maxalliga ah, sidaas awgeed, waxay leeyihiin daahitaanno yar.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Aynu wax yar ka fahanno ereyada loo isticmaalo Qunsulka.

  • Qunsulka waa adeeg ku qoran Go. Mid ka mid ah faa'iidooyinka barnaamijka Go waa 1 file binary oo aad hadda soo dejisay. Laga bilaabo meel kasta oo aadan haysan wax ku tiirsan.
  • Kadib, anagoo adeegsanayna furayaasha, waxaan ku bilaabi karnaa adeegan qaabka macmiilka ama qaabka serverka.
  • Sidoo kale, sifada "datacenter" waxay kuu ogolaanaysaa inaad dejiso calan ay xarunta xogtani ka tirsan tahay.
  • Consensus - oo ku salaysan nidaamka raft. Haddii cidi xiisaynayso, waxaad wax badan oo arrintan ku saabsan ka akhriyi kartaa mareegta Qunsulka. Tani waa hab-maamuus kuu ogolaanaya inaad go'aamiso hoggaamiyaha oo aad go'aamiso lacagta loo arko mid sax ah oo la heli karo.
  • Xanta waa hab-maamuus awood u siinaya isdhexgalka u dhexeeya noodyada. Waxaa intaa dheer, nidaamkani waa mid baahsan. Hal xarun xogeed gudaheeda, dhammaan qanjidhada ayaa la xidhiidha deriskooda. Oo, sidaas awgeed, macluumaadka ku saabsan xaaladda hadda jirta ayaa la isu gudbiyaa midba midka kale. Waxaan dhihi karnaa tani waa xanta ka dhexeysa deriska.
  • Xanta LAN - xog isweydaarsiga maxalli ah ee u dhexeeya deriska isla xarunta xogta.
  • WAN Gossip - waxaa loo isticmaalaa marka aan u baahanahay in aan isku dhejino macluumaadka u dhexeeya labada xarumood ee xogta. Akhbaartu waxay u dhaxaysaa noodhadhka loo calaamadeeyay server ahaan.
  • RPC - waxay kuu ogolaaneysaa inaad ku fuliso codsiyada macmiilka serverka.

Sharaxaada RPC Aynu nidhaahno Qunsulku waxa uu macmiil ahaan ugu shaqaynayaa mishiinka farsamada ama server-ka jirka ah. Waxaanu kula xidhiidhnay gudaha. Ka dibna macmiilka maxalliga ahi wuxuu ka codsadaa macluumaadka server-ka oo waa la wada siman yahay. Iyada oo ku xidhan goobaha, macluumaadka waxa lagala soo bixi karaa khasnadda maxaliga ah, ama waxa lala xidhiidhin karaa hoggaamiyaha, iyo sayidiyaha server-ka.

Labadan qorshe waxay leeyihiin labadaba faa'iido iyo khasaare. Haddii aan la shaqeyno khasnad maxalli ah, markaa waa dhakhso. Haddii aan ku shaqeyno xogta ku kaydsan server-ka, waxay qaadataa waqti dheer, laakiin waxaan helnaa macluumaad badan oo khuseeya.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Haddii aad tan si garaaf ahaan u sawirto, markaa kani waa sawirka goobta. Waxaan aragnaa in aan leenahay saddex masters oo ordaya. Mid ka mid ah waxa lagu calaamadeeyay calaamad hoggaamiye ahaan. Tusaalahan, waxa jira saddex macaamiil oo xogta isku weydaarsada gudaha UDP/TCP. Iyo macluumaadka u dhexeeya xarumaha xogta waxaa lagu kala wareejiyaa inta u dhaxaysa server-yada. Halkan macaamiishu waxay iskula falgalaan gudaha.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

API maxay Qunsulka bixiyaa? Si loo helo macluumaadka, Qunsulka wuxuu leeyahay laba nooc oo API ah.

Kani waa API-ga DNS. Sida caadiga ah, Qunsulka wuxuu ku shaqeeyaa dekedda 8600. Waxaan habayn karnaa codsiga wakiilnimada waxaanan ku bixin karnaa marin u hel xallinta maxalliga ah, iyada oo loo marayo DNS maxalliga ah. Waxaan ku weydiin karnaa domain ahaan oo waxaan helnaa macluumaadka ciwaanka IP-ga jawaab ahaan.

HTTP API - ama waxaan ka codsan karnaa maxalli ahaan macluumaadka ku saabsan adeeg gaar ah oo ku yaal dekedda 8500 oo aan helno jawaabta JSON, waxa IP-gu leeyahay server-ku, waa maxay martida, dekedee ka diiwaan gashan. Macluumaad dheeri ahna waxaa lagu gudbin karaa calaamad.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Maxaad u baahan tahay si aad u maamusho Qunsulka?

Doorashada koowaad, qaabka horumariyaha waxaanu ku tusin calanka in kani yahay habka horumariyaha. Wakiilku wuxuu ku bilaabmaa server ahaan. Waxayna si madax banaan u qabataa shaqada oo dhan hal mashiin. Ku habboon, degdeg ah oo ficil ahaan looma baahna dejin dheeri ah bilowga hore.

Habka labaad waxaa lagu bilaabay wax soo saarka. Tani waa meesha bilaabista ay ku yara adkaato. Haddii aynaan haysan nooc ka mid ah qunsulka, markaa waa in aan keeno mishiinka ugu horreeya ee bootstrap, i.e. mashiinkan, kaas oo qaadi doona mas'uuliyadda hoggaamiyaha. Waxaan kor u qaadeynaa, ka dibna waxaan kor u qaadeynaa heerka labaad ee server-ka, waxaan u gudbineynaa macluumaadka halka uu sayidkeenu ku yaal. Waxaan kor u qaadnaa midka saddexaad. Ka dib markii aan haysano saddex mashiin, waxaanu dib ugu bilownaa habka caadiga ah mashiinka ugu horreeya ee kabaha kabaha. Xogta waa la is waafajiyay oo kooxda hore ayaa kor u kacday.

Waxaa lagu talinayaa in lagu socodsiiyo saddex ilaa toddobo dhacdo oo ah qaabka serverka. Tani waxay sabab u tahay xaqiiqda ah in haddii tirada server-yadu ay koraan, markaa wakhtiga isku-dhafka macluumaadka dhexdooda ayaa kordha. Tirada noodhadhku waa inay ahaadaan kuwo aan caadi ahayn si loo xaqiijiyo kooramka.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Sidee baa hubinta caafimaadka loo bixiyaa? Waxaan ku qoreynaa qaanuunka xaqiijinta ee qaabka Json ee hagaha qaabeynta Qunsulka. Doorashada koowaad waa helitaanka google.com domain ee tusaalahan. Waxa aanu nidhi jeegaan waxa uu u baahan yahay in la sameeyo 30 ilbiriqsi. Sidan ayaanu ku hubinaynaa in noodhkayagu uu marin u leeyahay shabakadda dibadda.

Doorashada labaad waa in aad is-baarto. Waxaan isticmaalnaa curlka caadiga ah si aan ugu wacno localhost dekedda cayiman ee 10 ilbiriqsi.

Jeegagaan waa la soo koobay waxaana loo diraa Sahanka Adeegga. Iyada oo ku saleysan helitaanka, noodhadhkan waa laga saaray ama waxay ka muuqdaan liiska mashiinnada la heli karo oo si sax ah u shaqeynaya.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Qunsulka waxa kale oo uu bixiyaa interface interface, kaas oo lagu bilaabay calan gooni ah oo laga heli doono mishiinka. Tani waxay kuu ogolaaneysaa inaad aragto macluumaadka waxaad sidoo kale sameyn kartaa isbedelo.

Tusaalahan, tab "Adeeg" waa furan yahay. Waxaa la tusay in saddex adeeg ay socdaan, midna uu yahay Qunsulka. Tirada jeegaga la sameeyay Waxaana jira saddex xarumood oo xogta ah oo ay mishiinadu ku yaalliin.

Helitaanka Adeegga ee nidaamyada qaybsan iyadoo la adeegsanayo tusaalaha Qunsulka. Alexander Sigachev

Tani waa tusaale ka mid ah tab Nodes. Waxaan aragnaa inay leeyihiin magacyo isku dhafan oo ku lug leh xarumaha xogta. Waxa kale oo ay muujinaysaa adeegyada socda, tusaale ahaan waxaan aragnaa in aan wax calaamado ah la dhigin. Calaamadahaan dheeraadka ah waxay ku siin karaan macluumaad qaar ka mid ah oo horumariyahu isticmaali karo si uu u caddeeyo xuduudo dheeraad ah.

Waxaad sidoo kale u gudbin kartaa macluumaadka qunsulka ee ku saabsan heerka saxanadaha iyo celceliska culeyska.

Su'aalahaada

Su'aal: Waxaan haynaa weel-dhaliye, sidee loogu isticmaali karaa Qunsulka?

Jawaab: Waxaa jira dhowr habab oo loogu talagalay weelka docker-ka. Mid ka mid ah kuwa ugu caansan waa in la isticmaalo weel gacan saddexaad oo ka mas'uul ah diiwaangelinta. Marka la bilaabayo, godka docker-ka ayaa loo gudbiyaa. Dhammaan dhacdooyinka diiwaan gelinta weelka iyo daabacaadda waxaa lagu diiwaangeliyaa Qunsulka.

Su'aal: Markaa Qunsulka laftiisu ma bilaabayaa weelka wax-soo-saarka?

Jawaab: Maya. Waxaan wadnaa weel-dhaliye. Oo marka la habaynta waxaan tilmaamaynaa - dhegayso sida iyo godka noocan oo kale ah. Tani waxay la mid tahay sida aan ugu shaqeyno shahaado, marka aan soo galino macluumaadka ku saabsan meesha iyo waxa aan hayno.

Su'aal: Waxay soo baxday in gudaha weelka Docker ee aan isku dayeyno inaan ku xirno Raadinta Adeegga waa inay jirtaa nooc macquul ah oo xogta u diri kara Qunsulka?

Jawaab: Runtii maaha. Marka ay bilaabato, waxa aynu u gudubnaa doorsoomayaasha deegaanka doorsoomaha. Aynu nidhaahno magaca adeegga, dekedda adeegga. Diiwaanka ayaa dhageysanaya macluumaadkan oo galaya Qunsulka.

Su'aal: Waxaan qabaa su'aal kale oo ku saabsan UI. Waxaan geynay UI, tusaale ahaan, serfarka wax soo saarka. Ka warran amniga? Xaggee xogta lagu kaydiyaa? Suurtagal ma tahay in si uun loo ururiyo xogta?

Jawaab: UI-ga waxaa ku jira xog laga helay kaydka xogta iyo ka Helitaanka Adeegga. Waxaan dejinnay furaha sirta ah ee goobaha nafteena.

Su'aal: Tani ma lagu daabici karaa internetka?

Jawaab: Sida caadiga ah, Qunsulka wuxuu ka bilaabmaa localhost. Si aad ugu daabacdo internetka, waxaad u baahan doontaa inaad ku rakibto nooc wakiil ah. Anaga ayaa mas'uul ka ah xeerarka badbaadada.

Su'aal: Miyuu bixiyaa xog taariikhi ah oo ka baxsan sanduuqa? Waa wax xiiso leh in la eego tirakoobka hubinta caafimaadka. Waxaad sidoo kale ogaan kartaa dhibaatooyinka haddii seerfarku inta badan ku guuldareysto.

Jawaab: Ma hubo inay jiraan tafaasiisha jeegaga halkaas.

Su'aal: Xaaladda hadda jirta maaha mid aad muhiim u ah sida dhaqdhaqaaqa dhaqdhaqaaqa.

Jawaab: Falanqaynta - haa.

Su'aal: Miyay fiican tahay inaadan u isticmaalin Raadinta Adeegga docker-ka Qunsulka?

Jawaab: Kuma talin lahaa isticmaalka. Ujeedada warbixintu waa in la soo bandhigo waxa fikraddaasi jirto. Taariikh ahaan, siday ila tahay, waxay soo martay dariiqii 1aad. Hadda waxaa jira xalal dhammaystiran oo dheeraad ah, tusaale ahaan, Kubernetes, oo waxaas oo dhan ku hoos jira daboolka. Iyada oo qayb ka ah Helitaanka Adeegga Kubernetes ayaa ka hooseeya IWM. Laakiin anigu uma aan aqoon sida aan ula socdo Qunsulka. Sidaa darteed, waxaan go'aansaday in aan sameeyo Discovery Service aniga oo isticmaalaya Qunsulka tusaale ahaan.

Su'aal: Nidaamka leh server-ka hogaamiyaha miyaanu hoos u dhigin bilawga codsiga guud ahaan? Oo sidee buu Qunsulka u go'aamin karaa hoggaamiye cusub haddii kani been sheegayo?

Jawaab: Waxay leeyihiin borotokool dhan oo lagu tilmaamay. Haddii aad xiisaynayso, waad akhrin kartaa.

Su'aal: Qunsulka wuxuu noogu shaqeeyaa sidii server buuxa oo dhammaan codsiyada la soo mariyo?

Jawaab: Uma dhaqmo sidii server buuxa, laakiin waxay la wareegaysaa aag gaar ah. Waxay caadi ahaan ku dhammaataa service.consul. Kadibna si macquul ah ayaan u soconaa. Uma isticmaalno magacyada domain ee wax soo saarka, laakiin halkii kaabayaasha gudaha, taas oo inta badan ku qarsoon gadaasha kaydinta serverka haddii aan ku shaqeyno isticmaalka DNS.

Su'aal: Taasi waa, haddii aan rabno inaan galno database-ka, markaa si kastaba ha ahaatee waxaan soo jiidan doonaa Qunsulka si uu u helo xogtan marka hore, sax?

Jawaab: Haa. Haddii aan ku shaqeyno isticmaalka DNS, ka dibna waxay u shaqeysaa si la mid ah qunsul la'aan marka aan isticmaalno magacyada DNS. Caadi ahaan, codsiyada casriga ah kama soo jiidan magaca domain codsi kasta, sababtoo ah waxaan ku rakibnay isku xirka, wax walbaa wuu shaqeeyaa mustaqbalka dhow si dhab ah uma isticmaalo. Haddii xiriirku go'o, markaa haa, waxaan mar kale waydiinnaa meesha saldhigayagu yahay oo aan tagnaa.

hashicorp alaabta chat - Hashicorp isticmaale sheekaysiga: Qunsulka, Nomad, Terraform

PS Ku saabsan hubinta caafimaadka. Qunsulka, sida Kubernetes, wuxuu isticmaalaa nidaam isku mid ah si loo hubiyo heerka badbaadada ee adeega ku salaysan heerka koodka.

200 OK for healthy
503 Service Unavailable for unhealthy

Ilaha:
https://www.consul.io/docs/agent/checks.html
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
https://thoslin.github.io/microservice-health-check-in-kubernetes/

Source: www.habr.com

Add a comment