Yini esiyaziyo ngama-microservices

Sawubona! Igama lami nginguVadim Madison, ngihola ukuthuthukiswa kwe-Avito System Platform. Ukuthi thina enkampanini sisuka kanjani ekwakhiweni kwe-monolithic siye ku-microservice sekushiwo kaningi. Isikhathi sokwabelana ngokuthi siyiguqule kanjani ingqalasizinda yethu ukuze sizuze ngokugcwele kumasevisi amancane futhi singalahleki kuwo. I-PaaS isisiza kanjani lapha, ukuthi sikwenze kwaba lula kanjani ukuthunyelwa futhi sanciphisa ukudalwa kwe-microservice ngokuchofoza okukodwa - funda uqhubeke. Akuyona yonke into engibhala ngayo ngezansi eyenziwa ngokugcwele ku-Avito, ingxenye yayo yindlela esithuthukisa ngayo inkundla yethu.

(Futhi ekupheleni kwalesi sihloko, ngizokhuluma ngethuba lokufika ku-seminar yezinsuku ezintathu evela kuchwepheshe we-microservice architecture, uChris Richardson).

Yini esiyaziyo ngama-microservices

Safika kanjani kuma-microservices

I-Avito ingenye yezigaba ezinkulu kunazo zonke emhlabeni, ishicilela izikhangiso ezintsha ezingaphezu kwezigidi ezingu-15 ngosuku. I-backend yethu yamukela izicelo ezingaphezu kwezinkulungwane ezingama-20 ngomzuzwana. Manje sinamakhulu amaningana ama-microservices.

Sesineminyaka engaphezu konyaka sakha i-microservice architecture. Kanjani kahle - ozakwethu ngokuningiliziwe utshele esigabeni sethu ku-RIT ++ 2017. Ku-CodeFest 2017 (bona видео), u-Sergey Orlov noMikhail Prokopchuk bachaze ngokuningiliziwe ukuthi kungani sidinga ukushintshela kuma-microservices nhlobo nokuthi u-Kubernetes wadlala yiphi indima lapha. Nokho, manje senza konke ukunciphisa izindleko zokukala ezitholakala kusakhiwo esinjalo.

Ekuqaleni, asizange sidale i-ecosystem eyayizosisiza ngokugcwele ekuthuthukisweni nasekuqaliseni ama-microservices. Basanda kuqoqa izixazululo zomthombo ovulekile ohlakaniphile, bazethula ekhaya futhi banikeza unjiniyela ukuthi abhekane nazo. Ngenxa yalokho, waya ezindaweni eziyishumi nambili (amadeshibhodi, izinsizakalo zangaphakathi), ngemva kwalokho waqinisa isifiso sakhe sokusika ikhodi ngendlela yakudala, ku-monolith. Umbala oluhlaza emidwebeni engezansi ubonisa lokho umthuthukisi akwenzayo ngendlela eyodwa noma enye ngezandla zakhe, umbala ophuzi ubonisa ukuzenzekelayo.

Yini esiyaziyo ngama-microservices

Manje, kusisetshenziswa se-PaaS CLI, ithimba elilodwa lidala isevisi entsha, futhi amanye amabili engeza isizindalwazi esisha futhi alithumele eSiteji.

Yini esiyaziyo ngama-microservices

Indlela yokunqoba inkathi "ye-microservice fragmentation"

Ngokwakhiwa kwe-monolithic, ngenxa yokuvumelana kwezinguquko emkhiqizweni, abathuthukisi baphoqeleka ukuba bahlole ukuthi kwenzekani nomakhelwane babo. Lapho usebenza esakhiweni esisha, izimo zesevisi azisancikile komunye nomunye.

Ngaphezu kwalokho, ukuze ukwakhiwa kwe-microservice kusebenze, kuyadingeka ukusungula izinqubo eziningi, okuyilezi:

• ukugawula;
• cela ukulandelelwa (Jaeger);
• ukuhlanganisa iphutha (Umlindi);
• izimo, imiyalezo, imicimbi evela Kubernetes (Event Stream Processing);
• umkhawulo womjaho / i-circuit breaker (ungasebenzisa i-Hystrix);
• ukulawulwa kokuxhumana kwesevisi (sisebenzisa i-Netramesh);
• ukuqapha (Grafana);
• umhlangano (TeamCity);
• ukuxhumana kanye nesaziso (Slack, i-imeyili);
• ukulandelela umsebenzi; (Jira)
• ukulungiswa kwemibhalo.

Ukuqinisekisa ukuthi uhlelo alulahlekelwa ubuqotho futhi luhlala lusebenza kahle njengoba lukhula, sicabange kabusha inhlangano yama-microservices ku-Avito.

Siwaphatha kanjani ama-microservices

I-Avito isiza ukwenza "inqubomgomo yeqembu" eyodwa phakathi kwama-microservices amaningi:

  • ukuhlukaniswa kwengqalasizinda ibe izingqimba;
  • umqondo Wenkundla Njengesevisi (i-PaaS);
  • ukuqapha konke okwenzekayo ngama-microservices.

Amazinga okukhipha ingqalasizinda ahlanganisa izingqimba ezintathu. Ake sisuke phezulu siye phansi.

A. Top - service mesh. Ekuqaleni sazama i-Istio, kodwa kwavela ukuthi isebenzisa izinsiza eziningi kakhulu, ezibiza kakhulu kumavolumu ethu. Ngakho-ke, unjiniyela omkhulu eqenjini lezakhiwo u-Alexander Lukyanchenko wasungula isixazululo sakhe - I-Netramesh (etholakala ku-Open Source), esiyisebenzisayo njengamanje ekukhiqizeni futhi edla izinsiza ezincane izikhathi ezimbalwa kune-Istio (kodwa ayenzi yonke into i-Istio engaziqhayisa ngayo).
B. Medium - Kubernetes. Kuyo, sisebenzisa futhi sisebenzise ama-microservices.
C. Ngezansi - insimbi engenalutho. Asisebenzisi amafu nezinto ezifana ne-OpenStack, kodwa sihlala phezu kwensimbi engenalutho.

Zonke izendlalelo zihlangene i-PaaS. Futhi le platform, yona, iqukethe izingxenye ezintathu.

I. Amajeneretha, ephethwe ngosizo lwe-CLI. Nguye osiza unjiniyela ukuthi enze i-microservice ngendlela efanele nangomzamo omncane.

II. Umqoqi ohlanganisiwe ngokulawula zonke izinsimbi ngedeshibhodi evamile.

III. isitoreji. Ixhuma nabahleli abamisa ngokuzenzakalelayo izibangeli zezenzo eziphusile. Ngenxa yohlelo olunjalo, akukho nowodwa umsebenzi ophuthelwe ngenxa nje yokuthi othile ukhohlwe ukubeka umsebenzi kuJira. Sisebenzisa ithuluzi langaphakathi elibizwa nge-Atlas kulokhu.

Yini esiyaziyo ngama-microservices

Ukuqaliswa kwe-microservices ku-Avito nakho kwenziwa ngokuvumelana nohlelo olulodwa, okwenza kube lula ukulawula phezu kwabo esigabeni ngasinye sokuthuthuka nokukhululwa.

Lisebenza kanjani ipayipi elijwayelekile lokuthuthukisa i-microservice

Ngokuvamile, uchungechunge lokudala i-microservice lubukeka kanje:

I-CLI-push → Ukuhlanganisa Okuqhubekayo → Bhaka → Sebenzisa → Ukuhlola okwenziwayo → Ukuhlolwa kwe-Canary → Ukuhlolwa kokuminyanisa → Ukukhiqiza → Ukunakekela.

Ake sidlule kukho ngendlela efanayo.

CLI-push

• Ukudala isevisi encane.
Sazabalaza isikhathi eside ukufundisa wonke umthuthukisi ukwenza ama-microservices. Kuhlanganisa nemiyalelo ebhaliwe enemininingwane ku-Confluence. Kodwa izinhlelo zashintsha futhi zenezelwa. Umphumela - ibhodlela kwakheka ekuqaleni kohambo: kuthathe isikhathi esiningi ukwethula ama-microservices kunokuvunyelwe, futhi noma kunjalo bekuvame ukuba nezinkinga lapho kudalwa.

Ekugcineni, sakhe insiza ye-CLI elula eyenza ngokuzenzakalelayo izinyathelo eziyisisekelo zokudala i-microservice. Eqinisweni, ithatha indawo yokuqala ye-git push. Nakhu impela akwenzayo.

- Idala isevisi ngokusho kwesifanekiso - isinyathelo ngesinyathelo, kumodi "yewizadi". Sinezifanekiso zezilimi eziphambili zokuhlela ku-backend ye-Avito: PHP, Golang kanye nePython.

- Umyalo owodwa ngesikhathi usebenzisa indawo yokuthuthukiswa kwendawo emshinini othize - I-Minikube iyaphakama, amashadi e-Helm akhiqizwa ngokuzenzakalelayo futhi asebenza ku-kubernetes yasendaweni.

- Ixhuma idatha edingekayo. Umthuthukisi akadingi ukwazi i-IP, ukungena ngemvume nephasiwedi ukuze afinyelele kusizindalwazi asidingayo - okungenani endaweni, okungenani ku-Stage, okungenani ekukhiqizeni. Ngaphezu kwalokho, i-database isetshenziswa ngokushesha ekucushweni okubekezelela iphutha kanye nokulinganisa.

- Izenzela i-live-assembly ngokwayo. Ake sithi unjiniyela ulungise okuthile ku-microservice nge-IDE yakhe. Insiza ibona izinguquko ohlelweni lwefayela futhi, ngokusekelwe kuzo, yakha kabusha uhlelo lokusebenza (lwe-Golang) bese iqala kabusha. Ku-PHP, simane sidlulisele uhla lwemibhalo ngaphakathi kwe-cube futhi lapho ukulayisha kabusha bukhoma kutholwa “ngokuzenzakalelayo”.

- Yakha izivivinyo ezizenzakalelayo. Ngendlela yezikhala, kodwa ezisebenzisekayo impela.

• Sebenzisa i-microservice.

Kuke kwaba yinto encane ukuphakela i-microservice nathi. Kudingeka isibopho:

I. Dockerfile.

II. Lungiselela.
III. Ishadi le-Helm, elinzima ngokwalo futhi elihlanganisa:

- amashadi ngokwawo;
- izifanekiso;
- amanani athile kucatshangelwa izindawo ezahlukahlukene.

Sibususile ubuhlungu bokusebenza kabusha kwe-Kubernetes manifest futhi manje seziyakhiwe ngokuzenzakalela. Kodwa okubaluleke kakhulu, senze ukuthunyelwa kwaba lula kwaze kwafika umkhawulo. Kusukela manje kuqhubeke, sine-Dockerfile, futhi umthuthukisi ubhala konke ukulungiselelwa kufayela elilodwa elifushane le-app.toml.

Yini esiyaziyo ngama-microservices

Yebo, futhi ku-app.toml ngokwayo, manje sekunodaba lomzuzu. Sinquma ukuthi mangaki amakhophi esevisi okufanele akhushulwe (kuseva ye-dev, esiteji, ekukhiqizeni), abonise ukuncika kwawo. Qaphela usayizi womugqa = "oncane" kubhulokhi [yenjini]. Lona umkhawulo ozokwabelwa isevisi nge-Kubernetes.

Ngaphezu kwalokho, ngesisekelo sokucushwa, wonke amashadi e-Helm adingekayo akhiqizwa ngokuzenzakalelayo futhi ukuxhumeka kuzinqolobane zedatha kwakhiwa.

• Ukuqinisekisa okuyisisekelo. Ukuhlola okunjalo kubuye kuzenzekele.
Udinga ukulandelela:
- ingabe kukhona i-Dockerfile;
- ingabe ikhona i-app.toml;
- Ingabe akhona amaphepha?
- kungakhathaliseki ukuthi ngokohlelo lokuncika;
- noma ngabe imisiwe imithetho yesixwayiso.
Kuze kube sephuzwini lokugcina: umnikazi wesevisi ngokwakhe ucacisa ukuthi imaphi ama-metric omkhiqizo okufanele aqashwe.

• Ukulungiswa kwemibhalo.
Indawo eyinkinga. Kubonakala sengathi kusobala kakhulu, kodwa ngesikhathi esifanayo irekhodi "elivame ukukhohliwe", ngakho-ke isixhumanisi esisengozini kulolu chungechunge.
Kuyadingeka ukuthi imibhalo ingeyesevisi encane ngayinye. Kuhlanganisa amabhlogo alandelayo.

I. Incazelo emfushane yesevisi. Imisho embalwa nje mayelana nokuthi lenzani nokuthi lenzani.

II. Xhuma kumdwebo wezakhiwo. Kubalulekile ukuthi uthi shazi kube lula ukukuqonda, isibonelo, noma ngabe usebenzisa i-Redis ukulondoloza isikhashana noma njengesitolo sedatha esiyinhloko kumodi eqhubekayo. E-Avito, okwamanje, lesi isixhumanisi se-Confluence.

III. incwadi yokugijima. Umhlahlandlela omfushane wokuqalisa isevisi kanye nobuqili bokuwuphatha.

IV. FAQ, lapho kungaba kuhle ukulindela izinkinga ozakwenu abangase bahlangabezane nazo lapho usebenza nensizakalo.

V. Incazelo yezindawo zokugcina ze-API. Uma kungazelelwe ungazange ucacise izindawo oya kuzo, ozakwenu ama-microservices axhumene neyakho cishe bazoyikhokhela. Manje sisebenzisa i-Swagger kulokhu kanye nesixazululo sethu esibizwa ngokuthi sifushane.

VI. Amalebula. Noma omaka ababonisa ukuthi yimuphi umkhiqizo, ukusebenza, ukuhlukaniswa kwesakhiwo senkampani isevisi okungeyayo. Zisiza ukuqonda ngokushesha, ngokwesibonelo, ukuthi uyakubona yini ukusebenza osebenza nabo abakwenzele iyunithi yebhizinisi efanayo ngesonto eledlule.

VII. Umnikazi wesevisi noma abanikazi. Ezimweni eziningi, yona - noma bona - inganqunywa ngokuzenzakalelayo kusetshenziswa i-PaaS, kodwa kumshwalense, sidinga ukuthi unjiniyela azicacise futhi ngesandla.

Okokugcina, kuwumkhuba omuhle ukwenza ukubuyekezwa kwamadokhumenti, okufana nokubuyekezwa kwekhodi.

Ukuhlanganiswa okuqhubekayo

  • Ukulungiselela izinqolobane.
  • Ukudala ipayipi e-TeamCity.
  • Ukunikezwa kwamalungelo.
  • Sesha abanikazi besevisi. Nasi isikimu esiyingxubevange - ukumaka okwenziwa ngesandla kanye ne-automation encane evela ku-PaaS. Isikimu esizenzakalelayo ngokugcwele siyehluleka lapho amasevisi adluliselwa ekusekelweni kwelinye ithimba lokuthuthukisa noma, isibonelo, uma umthuthukisi wesevisi eyeka.
  • Ukubhaliswa kwesevisi ku-Atlas (bheka ngenhla). Nabo bonke abanikazi bayo kanye nencike.
  • Ihlola ukufuduka. Sihlola ukuthi zikhona yini ezingaba yingozi phakathi kwazo. Isibonelo, kwenye yazo, kuvela ithebula lokushintsha noma enye into engaphula ukusebenzisana kohlelo lwedatha phakathi kwezinguqulo ezihlukene zesevisi. Khona-ke ukufuduka akwenziwa, kodwa kufakwa kokubhaliselwe - i-PaaS kufanele ibonise umnikazi wesevisi lapho kuphephile ukuyisebenzisa.

Bhaka

Isigaba esilandelayo yizinsizakalo zokupakisha ngaphambi kokuthunyelwa.

  • Ukuhlanganiswa kwesicelo. Ngokusho kwama-classics - esithombeni se-Docker.
  • Isizukulwane samashadi e-Helm esevisi ngokwayo nezinsiza ezihlobene. Kubandakanya imininingwane yolwazi kanye nenqolobane. Adalwa ngokuzenzakalela ngokuhambisana ne-app.toml config ekhiqizwe esigabeni se-CLI-push.
  • Ukudala amathikithi ukuze abalawuli bavule izimbobo (uma kudingeka).
  • Ukuqalisa ukuhlolwa kweyunithi nokubala ukumbozwa kwekhodi. Uma ukumbozwa kwekhodi kungaphansi kwenani elibekiwe, ngakho-ke, cishe, isevisi ngeke iqhubekele phambili - ekusetshenzisweni. Uma isiseduze nokwamukeleka, khona-ke insiza izokwabelwa i-coefficient "eyehlisa izinga": khona-ke, uma kungekho ukuthuthukiswa kwenkomba ngokuhamba kwesikhathi, umthuthukisi uzothola isaziso sokuthi ayikho inqubekela phambili mayelana nokuhlolwa ( futhi kufanele kwenziwe okuthile ngakho).
  • Ukubalwa kwememori nemikhawulo ye-CPU. Ngokuyisisekelo, sibhala ama-microservices e-Golang futhi siwasebenzisa ku-Kubernetes. Ngakho-ke, ubuqili obubodwa obuhlotshaniswa nesici solimi lwesi-Golang: ngokuzenzakalelayo, wonke ama-cores emshinini asetshenziswa ekuqaleni, uma ungasethi ngokucacile ukuguquguquka kwe-GOMAXPROCS, futhi lapho izinsizakalo ezinjalo ezimbalwa zethulwa emshinini ofanayo, ziqala. ukuncintisana ngezinsiza, ukuphazamisana. Amagrafu angezansi abonisa ukuthi isikhathi sokwenza sishintsha kanjani uma uhlelo lokusebenza luqhutshwa ngaphandle kokungqubuzana futhi kumodi yomjaho wensiza. (Imithombo yamashadi yile lapha).

Yini esiyaziyo ngama-microservices

Isikhathi sokwenza, okuncane kungcono. Ubukhulu: 643ms, ubuncane: 42ms. Isithombe siyachofozeka.

Yini esiyaziyo ngama-microservices

Isikhathi sokuhlinzwa, okuncane kungcono. Ubukhulu: 14091 ns, ubuncane: 151 ns. Isithombe siyachofozeka.

Esigabeni sokulungiselela umhlangano, ungasetha lokhu okuguquguqukayo ngokusobala noma ungasebenzisa umtapo wolwazi i-automaxprocs kubafana base-Uber.

Sebenzisa

• Ukuhlola izivumelwano. Ngaphambi kokuthi uqale ukuletha izakhiwo zesevisi ezindaweni ozihlosile, udinga ukuhlola okulandelayo:
- Iziphetho ze-API.
- Ukuxhumana kwe-API kugcina izimpendulo kuhlelo.
- Ifomethi yelogi.
- Ukusetha izihloko zezicelo zenkonzo (manje lokhu kwenziwa yi-netramesh)
- Ukusetha umaka womnikazi lapho uthumela imilayezo ebhasini (ibhasi lomcimbi). Lokhu kuyadingeka ukuze ulandelele ukuxhumana kwezinsizakalo ngebhasi. Ungathumela kokubili idatha engenangqondo ebhasini engakhulisi ukuxhumana kwezinsizakalo (okuhle), kanye nedatha yebhizinisi ethuthukisa ukuxhumana kwezinsizakalo (okubi kakhulu!). Futhi okwamanje lapho lokhu kuxhumana kuba yinkinga, ukuqonda ukuthi ubani obhala futhi ofunda ibhasi kusiza ukuhlukanisa kahle izinsizakalo.

Kuze kube manje, ayikho imihlangano eminingi kakhulu e-Avito, kodwa ichibi labo liyanda. Uma kunezivumelwano ezinjalo ngendlela eqondakalayo nelungele iqembu, kuba lula kakhulu ukugcina ukuvumelana phakathi kwama-microservices.

Ukuhlolwa kokwenziwa

• Ukuhlola iluphu evaliwe. Ngayo, manje sisebenzisa umthombo ovulekile i-hoverfly.io. Okokuqala, irekhoda umthwalo wangempela enkonzweni, bese - nje ku-loop evaliwe - ilingisa.

• Ukuhlolwa Kwengcindezi. Sizama ukuletha zonke izinsiza ekusebenzeni kahle. Futhi zonke izinguqulo zesevisi ngayinye kufanele zihlolwe ukulayisha - ukuze siqonde ukusebenza kwamanje kwesevisi kanye nomehluko ngezinguqulo zangaphambilini zesevisi efanayo. Uma, ngemva kokubuyekezwa kwesevisi, ukusebenza kwayo kuwele isikhathi esisodwa nesigamu, lokhu kuyisignali ecacile kubanikazi bayo: udinga ukumba ikhodi bese ulungisa isimo.
Siqala kudatha eqoqiwe, isibonelo, ukuze sisebenzise ngokunembile isikali esizenzakalelayo futhi, ekugcineni, ukuqonda ngokujwayelekile ukuthi isevisi ingakaleka kanjani.

Ngesikhathi sokuhlolwa komthwalo, sihlola ukuthi ukusetshenziswa kwezisetshenziswa kuyahlangabezana yini nemikhawulo ebekiwe. Futhi sigxila ngokuyinhloko ekweqiseni.

a) Sibheka isamba somthwalo.
- Incane kakhulu - cishe into ethile ayisebenzi nhlobo uma umthwalo wehla ngokuzumayo izikhathi ezimbalwa.
- Kukhulu kakhulu - ukulungiselelwa kuyadingeka.

b) Bheka i-RPS cutoff.
Lapha sibheka umehluko phakathi kwenguqulo yamanje kanye neyangaphambili kanye nenani eliphelele. Isibonelo, uma isevisi inikeza ama-rps angu-100, khona-ke ayibhalwanga kahle, noma lokhu kuyimininingwane yayo, kodwa kunoma yikuphi, lokhu kuyisizathu sokubheka isevisi eduze kakhulu.
Uma, ngokuphambene nalokho, kunama-RPS amaningi kakhulu, khona-ke, mhlawumbe, uhlobo oluthile lwesiphazamisi futhi ezinye zeziphetho ziyekile ukwenza umthwalo okhokhelwayo, kodwa ezinye nje. return true;

Ukuhlolwa kwe-Canary

Ngemva kokuhlolwa kokwenziwa kokwenziwa, siqhuba i-microservice enanini elincane labasebenzisi. Siqala ngokucophelela, ngesabelo esincane sezethameli ezihlosiwe zesevisi - ngaphansi kuka-0,1%. Kulesi sigaba, kubaluleke kakhulu ukuthi amamethrikhi alungile obuchwepheshe nawomkhiqizo afakwe ekuqashweni ukuze abonise inkinga kusevisi ngokushesha okukhulu. Isikhathi esincane sokuhlolwa kwe-canary imizuzu emi-5, okuyinhloko amahora ama-2. Ngezinsizakalo eziyinkimbinkimbi, sibeka isikhathi kumodi yezandla.
Siyahlaziya:
- amamethrikhi aqondene nolimi, ikakhulukazi, abasebenzi be-php-fpm;
- amaphutha ku-Sentry;
- izimo zokuphendula;
- isikhathi sokuphendula (isikhathi sokuphendula), esiqondile nesilinganiso;
- ukubambezeleka;
- okuhlukile, okuphathekayo nokungaphathwa;
- amamethrikhi womkhiqizo.

Cindezela Ukuhlola

Ukuhlola Ukuminyanisa kubizwa nangokuthi ukuhlola "kokukhama". Igama lenqubo yethulwa kuNetflix. Ingqikithi yayo iwukuthi okokuqala sigcwalisa isenzakalo esisodwa ngethrafikhi yangempela esimeni sokwehluleka futhi ngaleyo ndlela sibeke umkhawulo wayo. Bese sengeza esinye isibonelo futhi silayishe lo mbhangqwana - futhi kuze kufike phezulu; sibona uphahla lwabo kanye ne-delta ngokukhama kokuqala. Futhi ngakho-ke sixhuma isenzakalo esisodwa ngesinyathelo ngasinye bese sibala iphethini ezinguqukweni.
Idatha ekuhlolweni "ngokucindezela" iphinda igeleze kusizindalwazi esivamile samamethrikhi, lapho singacebisa khona imiphumela yomthwalo wokwenziwa ngawo, noma sishintshe "ama-synthetics" ngawo.

Ukukhiqiza

• Ukukala. Sikhiphela isevisi ekukhiqizeni, siqapha ukuthi ikala kanjani. Ngesikhathi esifanayo, ukuqapha izinkomba ze-CPU kuphela, ekuhlangenwe nakho kwethu, kungasebenzi. Ukukala okuzenzakalelayo ngokulinganisa kwe-RPS kusebenza ngendlela emsulwa, kodwa kumasevisi athile kuphela, njengokusakaza-bukhoma ku-inthanethi. Ngakho-ke sibheka ikakhulukazi amamethrikhi womkhiqizo othile.

Ngenxa yalokho, lapho sikala, sihlaziya:
- Izinkomba ze-CPU ne-RAM,
- inani lezicelo kulayini,
- isikhathi sokuphendula,
- isibikezelo esisekelwe kudatha yomlando eqoqiwe.

Lapho ukala isevisi, kubalulekile futhi ukulandela umkhondo wokuncika kwayo ukuze kungenzeki ukuthi silinganisele isevisi yokuqala ochungechungeni, futhi lezo efinyelela kuzo ziwela ngaphansi komthwalo. Ukuze kutholwe umthwalo owamukelekayo wayo yonke iphuli yesevisi, sibheka idatha yomlando yesevisi encikile “eseduze” (ngokwe-CPU ne-RAM, ehambisana namamethrikhi aqondene nohlelo lokusebenza) bese siyiqhathanisa nedatha yomlando ukuqalisa isevisi, nokunye kulo lonke "iketango lokuncika" ", ukusuka phezulu kuye phansi.

Isevisi

Ngemuva kokuthi i-microservice isiqalile ukusebenza, singalengisa izibangeli kuyo.

Nazi izimo ezijwayelekile lapho ama-trigger asebenza khona.
- Kutholwe ukufuduka okungaba yingozi.
- Izibuyekezo zokuphepha zikhishiwe.
- Isevisi ngokwayo ayizange ibuyekezwe isikhathi eside.
— Umthwalo kusevisi wehle ngokuphawulekayo noma amanye amamethrikhi omkhiqizo wayo awekho kwejwayelekile.
- Isevisi ayisahlangabezani nezidingo ezintsha zeplathifomu.

Ezinye zezimbangela zinesibopho sokuzinza komsebenzi, ezinye - njengomsebenzi wokugcinwa kwesistimu - isibonelo, enye isevisi ayizange isetshenziswe isikhathi eside futhi isithombe sayo esiyisisekelo siyekile ukudlula ukuhlolwa kokuphepha.

Ideshibhodi

Ngamafuphi, ideshibhodi iyiphaneli yokulawula ye-PaaS yethu yonke.

  • Iphuzu elilodwa lolwazi mayelana nesevisi, nedatha ekuhlolweni kwayo, inombolo yezithombe zayo, inombolo yamakhophi okukhiqiza, izinguqulo, njll.
  • Ithuluzi lokuhlunga idatha ngamasevisi namalebula (amathokheni okuba amayunithi ebhizinisi, ukusebenza komkhiqizo, njll.)
  • Ithuluzi lokuhlanganisa elinamathuluzi engqalasizinda okulandelela, ukugawula, nokuqapha.
  • Iphuzu elilodwa lemibhalo yezinkonzo.
  • Iphuzu elilodwa lokubuka yonke imicimbi ngenkonzo.

Yini esiyaziyo ngama-microservices
Yini esiyaziyo ngama-microservices
Yini esiyaziyo ngama-microservices
Yini esiyaziyo ngama-microservices

Inani

Ngaphambi kokwethulwa kwe-PaaS, umthuthukisi omusha angachitha amasonto ambalwa eqonda wonke amathuluzi adingekayo ukuze ethule i-microservice ekukhiqizweni: I-Kubernetes, i-Helm, izici zethu zangaphakathi ze-TeamCity, ukumisa ukuxhumana kusizindalwazi nezinqolobane ngendlela ebekezelela amaphutha, njll. Manje kuthatha amahora ambalwa ukufunda i- quickstart nokwenza isevisi ngokwayo.

Ngenze umbiko ngalesi sihloko we-HighLoad ++ 2018, ungabona видео и isethulo.

Ithrekhi yebhonasi yalabo abafunde kuze kube sekugcineni

Thina ku-Avito sihlela ukuqeqeshwa kwangaphakathi kwezinsuku ezintathu zabathuthukisi abavela UChris Richardson, uchwepheshe we-microservice architecture. Sifuna ukunikeza ithuba lokubamba iqhaza kulo omunye wabafundi balokhu okuthunyelwe. kuyinto uhlelo lokuqeqesha seluthunyelwe.

Ukuqeqeshwa kuzobanjwa kusukela ku-5 kuya ku-7 Agasti eMoscow. Lezi yizinsuku zokusebenza ezizobe zimatasa ngokugcwele. Isidlo sasemini nokuqeqeshwa kuzoba sehhovisi lethu, futhi umhlanganyeli okhethiwe uzikhokhela yena ngokwakhe uhambo nendawo yokuhlala.

Ungafaka isicelo sokubamba iqhaza kuleli fomu le-google. Kusuka kuwe - impendulo yombuzo wokuthi kungani udinga ukuthamela ukuqeqeshwa kanye nolwazi lokuthi ungakuthinta kanjani. Phendula ngesiNgisi, ngoba umhlanganyeli ofika ekuqeqeshweni uzokhethwa nguChris ngokwakhe.
Sizomemezela igama lomhlanganyeli wokuqeqeshwa ngesibuyekezo kulokhu okuthunyelwe nasezinkundleni zokuxhumana i-Avito yabathuthukisi (AvitoTech in Facebook, Вконтакте, Twitter) kungakedluli umhlaka-19 kuJulayi.

Source: www.habr.com

Engeza amazwana