Qaybaha dhismaha ee codsiyada la qaybiyey. Qiyaasta eber

Qaybaha dhismaha ee codsiyada la qaybiyey. Qiyaasta eber

Dunidu ma istaagto. Horumarku wuxuu abuuraa caqabado tignoolajiyadeed oo cusub. Iyadoo la raacayo shuruudaha isbeddelaya, qaabdhismeedka nidaamyada macluumaadka waa inuu horumariyaa. Maanta waxaan ka hadli doonaa qaab-dhismeedka dhacdo-driven, concurrency, concurrency, asynchrony, iyo sida aad ugu noolaan karto si nabad ah waxaas oo dhan gudaha Erlang.

Horudhac

Iyada oo ku xidhan xajmiga nidaamka loo qaabeeyey iyo shuruudaha loo baahan yahay, annagu, horumariyayaashu, waxay dooranayaan habka macluumaadka beddelka ee nidaamka. Inta badan, si loo abaabulo isdhexgalka adeegyada, ikhtiyaarka shaqadu wuxuu noqon karaa qorshe leh dullaal, tusaale ahaan, ku salaysan RabbitMQ ama kafka. Laakiin mararka qaarkood socodka dhacdooyinka, SLA iyo heerka xakamaynta nidaamka ayaa ah sida fariinta diyaarka ah ee aan ku habboonayn annaga. Dabcan, wax yar ayaad ku adkeyn kartaa nidaamka adigoo qaadaya mas'uuliyadda lakabka gaadiidka iyo samaynta kooxda, tusaale ahaan adigoo isticmaalaya ZeroMQ ama nanomsg. Laakiin haddii nidaamku leeyahay wax-soo-saar ku filan iyo awoodaha kooxda Erlang ee caadiga ah, markaa arrinta soo bandhigida qayb dheeraad ah waxay u baahan tahay daraasad faahfaahsan iyo caddayn dhaqaale.

Mawduuca codsiyada la qaybiyey ee fal-celiska ahi aad buu u ballaadhan yahay. Si loo ilaaliyo qaabka maqaalka, mawduuca doodda maanta waxay noqon doontaa oo kaliya deegaan isku mid ah oo lagu dhisay Erlang/Elixir. Nidaamka deegaanka ee Erlang/OTP wuxuu kuu oggolaanayaa inaad hirgeliso qaab-dhismeed fal-celin leh oo leh tirada ugu yar ee dadaalka. Laakiin xaalad kasta, waxaan u baahan doonaa lakabka fariimaha.

Saldhig aragtiyeed

Naqshadu waxay ku bilaabataa qeexidda yoolalka iyo caqabadaha. Hadafka ugu weyni maaha aagga horumarinta ee horumarka aawadood. Waxaan u baahanahay inaan helno qalab sugan oo la miisaami karo oo ku saleysan taas oo aan abuuri karno, iyo, ugu muhiimsan, horumarinta codsiyada casriga ah ee heerar kala duwan: laga bilaabo codsiyada hal-server ee u adeegaya dhageystayaal yar, kuwaas oo hadhow u kobcin kara kooxo ilaa 50 ah. -60 nodes, oo ku dhamaanaya xiriiro kooxeed. Sidaa darteed, yoolka ugu weyn waa in la kordhiyo faa'iidada iyadoo la dhimayo kharashka horumarinta iyo lahaanshaha nidaamka ugu dambeeya.

Aynu muujinno 4 shuruudaha ugu muhiimsan ee nidaamka kama dambaysta ah:

  • Π‘dhacdo-oriented.
    Nidaamku had iyo jeer wuxuu diyaar u yahay inuu dhex maro socodka dhacdooyinka oo uu fuliyo ficillada lagama maarmaanka ah;
  • Мscalability.
    Baloogyada gaarka ah waxaa loo miisaami karaa si toos ah iyo si toos ah labadaba. Nidaamka oo dhan waa inuu noqdaa mid awood u leh koritaanka toosan ee aan dhammaadka lahayn;
  • Оdulqaadka qaladka.
    Dhammaan heerarka iyo dhammaan adeegyada waa inay awoodaan inay si toos ah uga soo kabtaan guuldarrooyinka;
  • Π“waqtiga jawaabta dammaanad qaaday.
    Waqtigu waa qiimo leh isticmaalayaashuna waa inaysan sugin waqti dheer.

Xusuusnow sheeko-sheekadii hore ee ku saabsan "Matoorka yar ee awooda"? Si nidaamka la qorsheeyay uu si guul leh uga baxo marxaladda tusaalaha oo uu u noqdo mid horumarsan, aasaaskiisu waa inuu buuxiyaa shuruudaha ugu yar SMOG.

Hal dhibic oo kale ayaa lagu daraa fariimaha sida qalab kaabayaal ah iyo saldhigga dhammaan adeegyada: sahlanaanta isticmaalka barnaamijyada.

Dhacdada ku jihaysan

Codsigu waa inuu ka koraan hal server oo uu u guuro koox, qaabdhismeedkiisu waa inuu taageeraa isku xidhka dabacsan. Qaabka asynchronous ayaa buuxinaya shuruudahan. Dhexdeeda, soo diraha iyo qaataha ayaa daneynaya culeyska macluumaadka ee fariinta oo ha ka welwelin gudbinta iyo marinka nidaamka dhexdiisa.

Miisaanka

Miisaanka iyo hufnaanta nidaamka ayaa is xiga. Qaybaha codsigu waa inay awoodaan inay ka faa'iidaystaan ​​dhammaan agabyada jira. Sida ugu waxtarka badan ee aan uga faa'iidaysan karno awoodda iyo sida ugu wanaagsan ee hababkayaga farsamaynta, lacagta yar ee aan ku bixinno qalabka.

Hal mashiin gudaheed, Erlang wuxuu abuuraa jawi tartan aad u sarreeya. Isu-dheellitirka u dhexeeya is-barbar-dhigga iyo is-barbar-dhigga waxa lagu dejin karaa iyadoo la dooranayo tirada nidaamka hawlgelinta ee uu heli karo Erlang VM iyo tirada jadwal-dejiyeyaasha ee isticmaala duntan.
Nidaamyada Erlang ma wadaagaan gobolka waxayna ku shaqeeyaan qaab aan xannibin. Tani waxay bixisa daahitaan yar iyo soo saarid ka sarreeya codsiyada ku salaysan xannibaadda. Jadwalka Erlang wuxuu xaqiijiyaa qoondaynta cadaalad ah ee CPU iyo IO, iyo maqnaanshaha xannibaadda waxay u oggolaaneysaa codsigu inuu ka jawaabo xitaa inta lagu jiro culeysyada ugu sarreeya ama guuldarrooyinka.

Marka la eego heerka kooxda, dhibaatada tuurista ayaa sidoo kale jirta. Waa muhiim in dhammaan mishiinnada kutlada ku jira ay si siman u raran yihiin iyo in shabkada aan la rarin. Aynu qiyaasno xaalad: taraafikada isticmaaleyaashu waxay ku degaan dheelitirayaasha soo socda (haproxy, nginx, iwm), waxay u qaybiyaan codsiyada socodsiinta sida ugu siman ee suurtogalka ah inta u dhaxaysa jaangooyooyinka dambe ee la heli karo. Kaabayaasha arjiga dhexdiisa, adeegga fulinaya is-dhexgalka loo baahan yahay waa kaliya maylka ugu dambeeya wuxuuna u baahan doonaa inuu codsado tiro adeegyo kale ah si looga jawaabo codsiga hore. Codsiyada guduhu waxay sidoo kale u baahan yihiin habayn iyo isku dheelitirnaan.
Si si wax ku ool ah loo maareeyo qulqulka xogta, fariintu waa in ay siisaa horumariyayaasha interface si ay u maareeyaan isu-dheellitirka iyo culayska. Waad ku mahadsan tahay tan, horumariyayaashu waxay awoodi doonaan, iyagoo isticmaalaya qaababka microservice (urur, wakiil, silsilad, laan, iwm), si ay u xalliyaan dhibaatooyinka caadiga ah iyo kuwa dhifka ah.

Marka laga eego dhinaca ganacsiga, miisaanku waa mid ka mid ah qalabka maaraynta khatarta. Waxa ugu muhiimsan waa in la qanciyo codsiyada macaamiisha adiga oo si fiican u isticmaalaya qalabka:

  • Marka awoodda qalabku korodho natiijada horumarka. Ma shaqayn doono software-ka aan dhamaystirnayn awgeed. Erlang miisaan si toos ah ayuu u miisaamaa wuxuuna had iyo jeer awoodi doonaa inuu ka faa'iidaysto dhammaan xudunta CPU iyo xusuusta la heli karo;
  • Deegaannada daruuraha, waxaan ku maareyn karnaa tirada qalabka iyadoo ku xiran culeyska hadda ama la saadaaliyay iyo dammaanadda SLA.

dulqaadka qaladka

Aynu tixgelinno laba axioms: "Guul-darradu waa wax aan la aqbali karin" iyo "Weligood guuldarrooyin ayaa jiri doona." Ganacsiga, fashilka software macnaheedu waa luminta lacag, iyo waxa ka sii daran, luminta sumcadda. Isu-dheellitirka khasaaraha suurtagalka ah iyo kharashka horumarinta software-ka cillad-u-qaadka ah, tanaasul ayaa inta badan la heli karaa.

Muddada gaaban, qaab-dhismeed ka mid ah dulqaadka cilladaha ayaa lacag u badbaadiya iibsashada xalalka isku-duuban ee shelf-ka-baxsan. Waa qaali waxayna sidoo kale leeyihiin cayayaanka.
Muddada dheer, qaab-dhismeedka cillad-u-dul-qaadka ah wuxuu bixiyaa kharashkiisa marar badan dhammaan heerarka horumarka.
Farriinta gudaha saldhigga code waxay kuu ogolaaneysaa inaad si faahfaahsan uga shaqeyso isdhexgalka qaybaha nidaamka marxaladda horumarinta. Tani waxay fududaynaysaa hawsha ka jawaabista iyo maaraynta guul-darrooyinka, maadaama dhammaan qaybaha muhiimka ah ay gacanta ku hayaan guul-darrooyinka, iyo nidaamka ka soo baxaa wuxuu yaqaanaa sida si toos ah loogu soo noqdo caadi ka dib marka lagu guuldareysto naqshadeynta.

Jawaabid

Iyadoo aan loo eegin guuldarrooyinka, codsigu waa inuu ka jawaabaa codsiyada oo uu la kulmo SLA. Xaqiiqdu waxay tahay in dadku aysan rabin inay sugaan, markaa ganacsiyadu waa inay la qabsadaan si waafaqsan. Codsiyo badan oo badan ayaa la filayaa inay noqdaan kuwo si heersare ah uga jawaaba.
Codsiyada ka jawaabaya waxay shaqeeyaan waqtiga dhabta ah. Erlang VM wuxuu ku shaqeeyaa qaab jilicsan waqtiga dhabta ah. Meelaha qaarkood, sida ganacsiga saamiyada, daawada, iyo xakamaynta qalabka warshadaha, habka adag ee wakhtiga dhabta ah waa muhiim.
Nidaamyada jawaab celinta waxay hagaajiyaan UX waxayna faa'iido u leeyihiin ganacsiga.

Soo koobid hordhac ah

Marka aan qorsheynayo maqaalkan, waxaan rabay in aan la wadaago waayo-aragnimadayda abuurista dilaaliinta fariimaha iyo dhisidda nidaamyo adag oo ku salaysan. Laakiin qaybta aragtida iyo dhiirigelinta waxay noqotay mid aad u ballaaran.
Qaybta labaad ee maqaalka, waxaan ka hadli doonaa nuxurka hirgelinta qodobbada isdhaafsiga, qaababka fariimaha iyo codsigooda.
Qaybta saddexaad waxaynu ku eegi doonaa arrimaha guud ee habaynta adeegyada, habaynta iyo isu dheelitirka. Aynu ka hadalno dhinaca wax ku oolka ah ee miisaanka iyo u dulqaadashada khaladaadka nidaamyada.

Dhamaadka qeybta koowaad.

Sawir @lucabravo.

Source: www.habr.com

Add a comment