Chii chatinoziva nezve microservices

Mhoro! Zita rangu ndiVadim Madison, ini ndinotungamira kuvandudzwa kweAvito System Platform. Zvakataurwa kanopfuura kamwe kuti isu mukambani tiri kufamba sei kubva kune monolithic architecture kuenda kune microservices imwe. Yave nguva yekugovana mashandurirwo atakaita zvivakwa zvedu kuti tiwane zvakanyanya kubva kumamicroservices uye tizvidzivirire kuti tisarasika mazviri. Iyo PaaS inotibatsira sei pano, manyorero atakaita kuendesa uye kudzikisa kusikwa kweiyo microservice kune imwechete kudzvanya - verenga. Hazvisi zvese zvandinonyora pazasi zvinonyatso itwa muAvito, zvimwe zvacho magadzirirwo atinoita chikuva chedu.

(Uye pakupera kwechinyorwa chino, ini ndichataura nezvemukana wekupinda musangano wemazuva matatu kubva kune microservice architecture nyanzvi Chris Richardson).

Chii chatinoziva nezve microservices

Mauya sei kune microservices

Avito ndeimwe yenzvimbo dzakakura dzakarongwa pasirese; anopfuura mamirioni gumi neshanu ekushambadzira anoburitswa pairi pazuva. Kumashure kwedu kunogamuchira zvinopfuura zviuru makumi maviri zvikumbiro pasekondi. Isu parizvino tine mazana akati wandei ma microservices.

Isu tanga tichivaka microservice architecture kwemakore akati wandei ikozvino. Sei chaizvo - vatinoshanda navo zvakadzama akaudzwa pachikamu chedu paRIT ++ 2017. PaCodeFest 2017 (ona. Π²ΠΈΠ΄Π΅ΠΎ), Sergey Orlov naMikhail Prokopchuk vakatsanangura zvakadzama kuti sei taida shanduko kune microservices uye basa ripi rakaitwa naKubernetes pano. Zvakanaka, ikozvino tiri kuita zvese kuti tideredze mitengo yekuyera iyo inowanikwa mukuvaka kwakadai.

Pakutanga, isu hatina kugadzira ecosystem yaizotibatsira zvizere kugadzira uye kutanga mamicroservices. Ivo vakangounganidza zvine musoro zvakavhurika sosi mhinduro, vakazvitangisa kumba uye vakakoka mugadziri kuti agadzirise nazvo. Somugumisiro, akaenda kune gumi nemaviri nzvimbo (dashboards, mabasa emukati), mushure mokunge akasimba mukushuva kwake kutema code nenzira yekare, mune monolith. Ruvara rwegirinhi mumadhayagiramu pazasi rinoratidza izvo mugadziri anoita neimwe nzira kana imwe nemaoko ake, uye iyo yero ruvara inoratidza otomatiki.

Chii chatinoziva nezve microservices

Iye zvino muPaaS CLI utility, sevhisi nyowani inogadzirwa nemurairo mumwe, uye dhatabhesi nyowani inowedzerwa nemamwe maviri uye inoiswa kuStage.

Chii chatinoziva nezve microservices

Nzira yekukunda sei nguva ye "microservice fragmentation"

Nekuvakwa kwe monolithic, nekuda kwekuenderana kwekuchinja kwechigadzirwa, vagadziri vakamanikidzwa kuti vaone kuti chii chaiitika nevavakidzani vavo. Paunenge uchishanda pachivako chitsva, mamiriro ebasa haachatsamira pane mumwe nemumwe.

Uye zvakare, kuti microservice architecture ishande, akawanda maitiro anofanirwa kusimbiswa, anoti:

β€’ kutema miti;
β€’ kukumbira kutsvaga (Jaeger);
β€’ kukanganisa kuunganidza (Sentry);
β€’ zvimiro, mameseji, zviitiko kubva Kubernetes (Event Stream Processing);
β€’ mujaho muganho / wedunhu breaker (unogona kushandisa Hystrix);
β€’ kutonga kwekubatanidza sevhisi (tinoshandisa Netramesh);
β€’ kuongorora (Grafana);
β€’ gungano (TeamCity);
β€’ kutaurirana uye chiziviso (Slack, email);
β€’ kutsvaga basa; (Jira)
β€’ kugadzirira zvinyorwa.

Kuti tive nechokwadi chokuti hurongwa hahurasikirwa nekuvimbika uye hunoramba huchishanda sezvahunoyera, takafunga zvakare sangano re microservices muAvito.

Mabatiro atinoita microservices

Iri rinotevera rinobatsira kuita yakabatana "bato mutemo" pakati akawanda Avito microservices:

  • kupatsanura zvivakwa kuita zvidimbu;
  • Platform seSevhisi (PaaS) pfungwa;
  • kutarisa zvese zvinoitika ne microservices.

Infrastructure abstraction layers inosanganisira matatu akaturikidzana. Handei kubva kumusoro kusvika kuzasi.

A. Pamusoro - sevhisi mesh. Pakutanga takaedza Istio, asi zvakazoitika kuti inoshandisa zviwanikwa zvakawandisa, izvo zvinodhura zvakanyanya pamavhoriyamu edu. Naizvozvo, injiniya mukuru muboka rezvivakwa Alexander Lukyanchenko akagadzira yake mhinduro - Netramesh (inowanikwa muOpen Source), iyo yatinoshandisa iye zvino mukugadzira uye iyo inoshandisa kanoverengeka zvishoma zviwanikwa pane Istio (asi hazviite zvese izvo Istio inogona kuzvirumbidza nazvo).
B. Medium - Kubernetes. Isu tinotumira uye tinoshandisa microservices pairi.
C. Pasi - simbi isina chinhu. Isu hatishandise makore kana zvinhu zvakaita seOpenStack, asi tinovimba zvachose nesimbi isina chinhu.

Yese mitsara inosanganiswa nePaaS. Uye ichi chikuva, zvakare, chine zvikamu zvitatu.

I. Majenareta, inodzorwa kuburikidza neCLI utility. Ndiye anobatsira mugadzirisi kugadzira microservice nenzira kwayo uye nekushomeka kwekuedza.

II. Consolidated muunganidzi nekutonga kwezvishandiso zvose kuburikidza nedashboard yakafanana.

III. Storage. Inobatanidza nevagadziri vanoisa otomatiki zvinokonzeresa zviitiko zvakakosha. Nekuda kwehurongwa hwakadaro, hapana kana basa rimwe rinopotsa nekuti mumwe munhu akanganwa kumisa basa muJira. Isu tinoshandisa chishandiso chemukati chinonzi Atlas cheizvi.

Chii chatinoziva nezve microservices

Kuitwa kwemamicroservices muAvito kunoitwawo maererano nechirongwa chimwe chete, chinorerutsa kutonga pamusoro pavo pane imwe neimwe nhanho yekuvandudza nekuburitswa.

Iyo pombi yekusimudzira microservice inoshanda sei?

Kazhinji, iyo microservice yekugadzira cheni inotaridzika seizvi:

CLI-push β†’ Kuenderera mberi Kubatanidzwa β†’ Kubika β†’ Shandisa β†’ Artificial bvunzo β†’ Canary bvunzo β†’ Dzvinya Kuedzwa β†’ Kugadzira β†’ Kuchengeta.

Ngatifambei nayo chaizvo muhurongwa uhu.

CLI-sundira

β€’ Kugadzira microservice.
Takatambura kwenguva yakareba kuti tidzidzise mugadziri wese maitiro ekuita mamicroservices. Izvi zvaisanganisira kunyora mirairo yakazara muConfluence. Asi zvirongwa zvakachinja uye zvakawedzerwa. Mhedzisiro ndeyokuti bhodhoro rakaonekwa pakutanga kwerwendo: zvakatora nguva yakawanda kuvhura microservices, uye zvakadaro matambudziko aiwanzomuka panguva yekusika kwavo.

Mukupedzisira, isu takavaka yakapfava CLI yekushandisa iyo inogadzirisa matanho ekutanga kana uchigadzira microservice. Muchokwadi, inotsiva yekutanga git push. Hezvino zvaanoita chaizvo.

-Inogadzira sevhisi zvinoenderana netemplate - nhanho nhanho, mu "wizard" modhi. Tine matemplate emitauro mikuru yekuronga muAvito backend: PHP, Golang uye Python.

-Murairo mumwechete panguva inotumira nharaunda yekusimudzira yenzvimbo pamushini chaiwo - Minikube inotangwa, Helm machati anogadzirwa otomatiki uye anotangwa mubernetes yemuno.

- Inobatanidza dhatabhesi inodiwa. Mugadziri haafanire kuziva iyo IP, login uye password kuti awane mukana kune dhatabhesi yaanoda - ingave munharaunda, paStage, kana mukugadzira. Uyezve, iyo dhatabhesi inoiswa pakarepo mukukanganisa-kushivirira gadziriso uye nekuenzanisa.

- Inoita live assembly pachayo. Ngatiti mugadziri akagadzirisa chimwe chinhu mumicroservice kuburikidza neIDE yake. Iyo yekushandisa inoona shanduko mufaira system uye, zvichibva pazviri, inovakazve application (yeGolang) uye inotangazve. Kune PHP, isu tinongoendesa dhairekitori mukati mecube uye ipapo live-reload inowanikwa "otomatiki".

- Inogadzira otomatiki. Muchimiro chema blanks, asi akanyatsokodzera kushandiswa.

β€’ Microservice deployment.

Kuendesa microservice kwaimbove ibasa kwatiri. Zvinotevera zvaidiwa:

I. Dockerfile.

II. Config.
III. Helm chati, iyo pachayo inonetsa uye inosanganisira:

- machati pachawo;
- matemplate;
- Yakanyanya kukosha uchifunga nezve nharaunda dzakasiyana.

Isu takabvisa marwadzo kunze kwekugadzirisazve Kubernetes inoratidzira saka ikozvino inogadzirwa otomatiki. Asi chinonyanya kukosha, vakarerutsa kutumira kusvika pamuganho. Kubva zvino zvichienda mberi tine Dockerfile, uye mugadziri anonyora config yose mune imwe chete pfupi app.toml file.

Chii chatinoziva nezve microservices

Ehe, uye muapp.toml pachayo hapana chekuita kweminiti. Isu tinotsanangura kupi uye mangani makopi esevhisi yekusimudza (pane dev server, pane staging, mukugadzira), uye inoratidza kutsamira kwayo. Cherechedza saizi yemutsara = "diki" mu [injini] block. Uyu ndiwo muganho unozopihwa sevhisi kuburikidza neKubernetes.

Zvadaro, zvichibva pane iyo config, ese anodiwa machati eHelm anogadzirwa otomatiki uye zvinongedzo kune dhatabhesi zvinogadzirwa.

β€’ Basic kusimbiswa. Macheki akadai zvakare otomatiki.
Zvinoda kutevera:
- pane Dockerfile;
- pane app.toml;
- pane zvinyorwa zviripo here?
- kutsamira kuri muhurongwa here?
- kana mitemo yechenjedzo yakadzikwa.
Kusvika padanho rekupedzisira: muridzi wesevhisi iye pachake anosarudza kuti ndeapi zvigadzirwa metrics zvekutarisa.

β€’ Kugadzirira zvinyorwa.
Ichiri nzvimbo dambudziko. Inoratidzika seyo inonyanya kuoneka, asi panguva imwechete iyo zvakare chinyorwa "chinowanzokanganwika", uye naizvozvo chibatanidzo chinotapukira mumaketani.
Izvo zvinodikanwa kuti kune zvinyorwa kune yega microservice. Inosanganisira mabhuroko anotevera.

I. Tsanangudzo pfupi yeshumiro. Chaizvoizvo mitsara mishoma pamusoro pezvainoita uye nei ichidikanwa.

II. Architecture diagram link. Izvo zvakakosha kuti nekukurumidza kutarisisa pazviri zviri nyore kunzwisisa, semuenzaniso, ungave uri kushandisa Redis ye caching kana seyo huru data chitoro mune inoenderera modhi. MuAvito ikozvino ichi chinongedzo cheConfluence.

III. Runbook. Nhungamiro pfupi yekutanga sevhisi uye kuomesesa kwekuibata.

IV. FAQ, uko zvingava zvakanaka kutarisira matambudziko angasangana nevamwe vako pakushanda nebasa.

V. Tsanangudzo yemagumo eAPI. Kana ukaerekana usina kutsanangura kwaunoenda, vamwe vaunoshanda navo vane mamicroservices ane hukama neako vanotozozvibhadharira. Iye zvino isu tinoshandisa Swagger uye mhinduro yedu inonzi pfupi kune izvi.

VI. Labels. Kana mamaki anoratidza kuti ndechipi chigadzirwa, kushanda, kana kupatsanurwa kwekambani iyo sevhisi ndeyayo. Ivo vanokubatsira iwe nekukurumidza kunzwisisa, semuenzaniso, kana uri kucheka mashandiro ayo vamwe vako vakatenderedza kune imwechete bhizinesi unit svondo rapfuura.

VII. Muridzi kana varidzi vesevhisi. Muzviitiko zvakawanda, iyo - kana ivo - inogona kutemerwa otomatiki uchishandisa PaaS, asi kuti ive padivi rakachengeteka, isu tinoda kuti mugadziri azvitsanangure pamaoko.

Pakupedzisira, itsika yakanaka yekudzokorora zvinyorwa, zvakafanana nekuongorora kwekodhi.

Kuenderera mberi nekubatanidzwa

  • Kugadzirira repositories.
  • Kugadzira pombi muTeamCity.
  • Kugadza kodzero.
  • Tsvaga varidzi vebasa. Pane hybrid scheme pano - manual marking uye shoma otomatiki kubva PaaS. Iyo yakazara otomatiki chirongwa chinotadza kana masevhisi achiendeswa kune imwe rutsigiro kune imwe timu yekusimudzira kana, semuenzaniso, kana mugadziri webasa asiya.
  • Kunyoresa sevhisi muAtlas (ona pamusoro). Nevaridzi vayo vese uye vanotsamira.
  • Kuongorora kutama. Isu tinoongorora kana chero ipi zvayo inogona kuva nengozi. Semuenzaniso, mune imwe yadzo tafura yekuchinja kana chimwe chinhu chinobuda chinogona kutyora kuenderana kweiyo data schema pakati peshanduro dzakasiyana dzesevhisi. Ipapo kutama hakuna kuitwa, asi kuiswa mukunyorera - iyo PaaS inofanirwa kuratidza muridzi webasa kana yakachengeteka kuishandisa.

Bhaka

Nhanho inotevera ndeyekurongedza masevhisi isati yatumirwa.

  • Kugadzira application. Zvinoenderana neiyo classics - mumufananidzo weDocker.
  • Chizvarwa cheHelm machati ebasa racho pacharo uye zvine hukama zviwanikwa. Kusanganisira yedatabase uye cache. Iwo anogadzirwa otomatiki zvinoenderana neapp.toml config iyo yakagadzirwa paCLI-push nhanho.
  • Kugadzira matikiti ekuti admins vavhure madoko (kana zvichidiwa).
  • Running unit tests uye kuverenga kodhi yekuvhara. Kana iyo kodhi yekuvhara iri pazasi pechikumbaridzo chakatarwa, saka kazhinji sevhisi haizoendi mberi - kuendesa. Kana iri padanho rekugamuchirwa, ipapo sevhisi ichapihwa "pessimizing" coefficient: saka, kana pasina kuvandudzwa muchiratidzo nekufamba kwenguva, mugadziri achagamuchira chiziviso chekuti hapana kufambira mberi maererano nemiedzo ( uye chimwe chinhu chinoda kuitwa nezvazvo).
  • Accounting yekuyeuka uye CPU zvisingakwanisi. Isu tinonyanya kunyora mamicroservices muGolang uye tinoamhanyisa muKubernetes. Saka humwe hunyengeri hune hukama nehunyanzvi hwemutauro weGolang: nekukasira, kana uchitanga, ese macores pamushini anoshandiswa, kana ukasanyatso kuseta iyo GOMAXPROCS shanduko, uye kana akati wandei masevhisi akatangwa pamushini mumwe chete, anotanga. kukwikwidza pfuma, kupindirana. Iwo magirafu ari pazasi anoratidza kuti nguva yekuuraya inoshanduka sei kana iwe uchimhanyisa application pasina kupokana uye munhangemutange yezviwanikwa modhi. (Mabviro emagrafu ari pano).

Chii chatinoziva nezve microservices

Nguva yekuuraya, zvishoma zviri nani. Maximum: 643ms, zvishoma: 42ms. Mufananidzo wacho unodzvanya.

Chii chatinoziva nezve microservices

Nguva yekuvhiyiwa, zvishoma zviri nani. Maximum: 14091 ns, zvishoma: 151 ns. Mufananidzo wacho unodzvanya.

Padanho rekugadzirira gungano, unogona kuseta shanduko iyi zvakajeka kana kuti unogona kushandisa raibhurari automaxprocs kubva kuvarume vanobva kuUber.

Deploy

β€’ Kuongorora magungano. Usati watanga kuendesa magungano ebasa kunzvimbo dzaunotarisira, unofanirwa kutarisa zvinotevera:
- API endpoints.
-Kutevedzera API endpoints mhinduro ne schema.
- Log format.
-Kuisa misoro yezvikumbiro kushumiro (ikozvino izvi zviri kuitwa netramesh)
-Kuisa muridzi tokeni kana uchitumira mameseji kubhazi rechiitiko. Izvi zvinodikanwa kuti utarise kubatana kwemasevhisi mukati mebhazi. Iwe unogona kutumira ese ari maviri idempotent data kubhazi, iro risingawedzere kubatana kwemasevhisi (izvo zvakanaka), uye data rebhizinesi rinosimbisa kubatana kwesevhisi (iyo yakaipa kwazvo!). Uye panguva iyo kubatana uku kunova nyaya, kunzwisisa kuti ndiani anonyora uye kuverenga bhazi kunobatsira kuparadzanisa masevhisi.

Iko hakuna magungano mazhinji muAvito parizvino, asi dziva ravo riri kuwedzera. Izvo zvakanyanya zvibvumirano zvakadaro zviripo mune fomu iyo timu inogona kunzwisisa nekunzwisisa, zviri nyore kuchengetedza kuwirirana pakati pe microservices.

Synthetic bvunzo

β€’ Yakavharwa loop test. Kune izvi isu tave kushandisa open source Hoverfly.io. Kutanga, inorekodha mutoro chaiwo pasevhisi, zvino - kungovhara yakavharwa - inoitevedzera.

β€’ Stress Testing. Isu tinoedza kuunza masevhisi ese kune optimal performance. Uye shanduro dzese dzesevhisi yega yega dzinofanirwa kuve pasi pekuyedzwa kwemutoro - nenzira iyi tinogona kunzwisisa kuita kwazvino kwesevhisi uye mutsauko neshanduro dzakapfuura dzebasa rimwechete. Kana, mushure mekuvandudzwa kwebasa, kushanda kwayo kwakaderera nekamwe nehafu, ichi chiratidzo chakajeka kune varidzi varo: unoda kuchera mukodhi uye kugadzirisa mamiriro acho ezvinhu.
Isu tinoshandisa iyo data yakaunganidzwa, semuenzaniso, kuita nemazvo auto scaling uye, mukupedzisira, kazhinji kunzwisisa kuti scalable sevhisi iri sei.

Panguva yekuyedzwa kwemutoro, tinotarisa kana kushandiswa kwezviwanikwa kunosangana nemiganho yakatarwa. Uye isu tinotarisa zvakanyanya pane zvakanyanyisa.

a) Tinotarisa mutoro wose.
- Yakanyanya diki - ingangoita chimwe chinhu hachishande zvachose kana mutoro ukangoerekana wadonha kakawanda.
- Yakakura kwazvo - optimization inodiwa.

b) Isu tinotarisa cutoff maererano neRPS.
Pano tinotarisa musiyano pakati peshanduro yemazuva ano uye yekare uye huwandu hwehuwandu. Semuenzaniso, kana sevhisi ichiburitsa 100 rps, zvino ingave isina kunyorwa zvakanaka, kana iyi ndiyo chaiyo yayo, asi chero zvakadaro, ichi ndicho chikonzero chekutarisa sevhisi zvakanyanya.
Kana, pane zvinopesana, kune maRPS akawandisa, saka pamwe pane imwe mhando yebug uye mamwe emagumo amira kuita mubhadharo, uye imwe imwe inongokonzeresa. return true;

Canary bvunzo

Mushure mekupasa bvunzo dzekugadzira, isu tinoedza iyo microservice pane vashoma nhamba yevashandisi. Isu tinotanga nekuchenjera, nechikamu chidiki chevateereri vakatarisirwa - isingasviki 0,1%. Panguva ino, zvakakosha kuti iyo chaiyo tekinoroji uye zvigadzirwa metrics inosanganisirwa mukutarisisa kuitira kuti varatidze dambudziko musevhisi nekukurumidza sezvinobvira. Nguva shoma yekuedzwa kwecanary maminetsi mashanu, iyo huru ndeye 5 maawa. Kune masevhisi akaoma, isu tinoisa nguva nemaoko.
Ngationgororei:
- mutauro-chaiwo metrics, kunyanya, php-fpm vashandi;
- zvikanganiso muSentry;
- mamiriro emhinduro;
- nguva yekupindura, chaiyo uye pakati;
- latency;
- kunze, kugadziriswa uye kusabatwa;
- zvigadzirwa metrics.

Squeeze Testing

Squeeze Testing inonziwo "kusvina" kuyedza. Iro zita rehunyanzvi rakaunzwa muNetflix. Chinhu chayo ndechekuti tinotanga tazadza imwe muenzaniso netraffic chaiyo kusvika pakutadza uye nekudaro tinoisa muganhu wayo. Zvadaro tinowedzera imwe muenzaniso uye tinotakura iyi peya - zvakare kusvika pakakwirira; tinoona sirin'i yavo uye delta neyokutanga "kusvina". Uye saka tinobatanidza chiitiko chimwe panguva uye tinoverenga maitiro ekuchinja.
Yedza data kuburikidza ne "kusvina" zvakare inoyerera ichipinda mune yakajairwa metrics dhatabhesi, kwatino pfumisa ekare mitoro mibairo navo, kana kutotsiva "synthetics" navo.

Kugadzirwa

β€’ Kuyera. Patinoburitsa sevhisi yekugadzira, tinotarisisa kuti inoyera sei. Muchiitiko chedu, kutarisa chete CPU zviratidzo hazvishande. Kuyera otomatiki neRPS bhenji mune yayo yakachena fomu inoshanda, asi chete kune mamwe masevhisi, akadai sekutepfenyura online. Saka isu tinotarisa kutanga pakushandisa-chaiyo chigadzirwa metrics.

Nekuda kweizvozvo, pakuyera isu tinoongorora:
- CPU uye RAM zviratidzo,
- nhamba yezvikumbiro mumutsara,
- nguva yekupindura,
- fungidziro yakavakirwa pane yakaunganidzwa nhoroondo data.

Paunenge uchiyera sevhisi, zvakakoshawo kuti titarise kutsamira kwaro kuti tirege kuyera yekutanga sevhisi mumaketani, uye ayo aanowana anokundikana pasi pemutoro. Kumisikidza mutoro unogamuchirika wedziva rese remasevhisi, isu tinotarisa iyo nhoroondo data ye "iri pedyo" inotsamira sevhisi (zvichienderana nemubatanidzwa weCPU uye RAM zviratidzi, zvakasanganiswa nemaapp-chaiwo metrics) uye tozvienzanisa neiyo nhoroondo data. yebasa rekutanga, uye zvichingodaro mukati me "dependency chain" ", kubva kumusoro kusvika pasi.

ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΠ΅

Mushure mekunge iyo microservice yaiswa mukushanda, tinogona kubatanidza zvinokonzeresa kwairi.

Heano mamiriro akajairika umo zvinokonzeresa zvinoitika.
- Kutama kungava nengozi kwaonekwa.
- Zvigadziriso zvekuchengetedza zvakaburitswa.
- Iyo sevhisi pachayo haina kuvandudzwa kwenguva yakareba.
-Kuremerwa pasevhisi kwadzikira zvinooneka kana mamwe ezvigadzirwa zvemetrics ari kunze kweyakajairwa.
- Iyo sevhisi haichazadzisa zvinodiwa papuratifomu.

Zvimwe zvinokonzeresa zvinokonzeresa kugadzikana kwekushanda, zvimwe - sebasa rekuchengetedza system - semuenzaniso, imwe sevhisi haina kuendeswa kwenguva yakareba uye chifananidzo chayo chegadziko chakarega kupfuudza cheki chekuchengetedza.

Dashboard

Muchidimbu, dashboard ndiyo control panel yePaaS yedu yese.

  • Iyo imwe poindi yeruzivo nezve sevhisi, ine dhata pamusoro pekuvhara kwayo bvunzo, nhamba yemifananidzo yayo, nhamba yemakopi ekugadzira, shanduro, nezvimwe.
  • Chishandiso chekusefa data nemasevhisi uye mavara (zvicherechedzo zvekuve zvemabhizinesi mayuniti, mashandiro echigadzirwa, nezvimwewo)
  • Chishandiso chekubatanidza nematurusi ezvivakwa zvekutevera, kutema matanda, uye kutarisa.
  • Chinhu chimwe chete chezvinyorwa zvebasa.
  • Imwe maonero ezviitiko zvese mumasevhisi.

Chii chatinoziva nezve microservices
Chii chatinoziva nezve microservices
Chii chatinoziva nezve microservices
Chii chatinoziva nezve microservices

Total

Asati aunza PaaS, mugadziri mutsva anogona kupedza mavhiki akati wandei achinzwisisa ese maturusi anodiwa kuti atange microservice mukugadzira: Kubernetes, Helm, yedu yemukati TeamCity maficha, kumisikidza zvinongedzo kune dhatabhesi uye cache nenzira yekutadza-kushivirira, nezvimwe. zvinotora maawa akati wandei kuverenga nekukurumidza kutanga uye kugadzira iyo sevhisi pachayo.

Ini ndakapa mushumo pane iyi musoro weHighLoad ++ 2018, unogona kuiona Π²ΠΈΠ΄Π΅ΠΎ ΠΈ mharidzo.

Bonus track yeavo vanoverenga kusvika kumagumo

Isu paAvito tiri kuronga mukati memazuva matatu kudzidziswa kwevagadziri kubva Chris Richardson, nyanzvi mune microservice architecture. Tinoda kupa mukana wekutora chikamu mariri kune mumwe wevaverengi vetsamba ino. zviri Chirongwa chekudzidzisa chakatumirwa.

Kudzidziswa kuchaitika kubva Nyamavhuvhu 5 kusvika 7 muMoscow. Aya mazuva ekushanda achange akabatikana zvizere. Zvokudya zvemasikati uye kudzidziswa zvichave muhofisi yedu, uye uyo akasarudzwa anotora chikamu achabhadhara yekufamba uye pekugara iye pachake.

Unogona kunyorera kuti utore chikamu mune iyi google fomu. Kubva kwauri - mhinduro kumubvunzo nei uchifanira kuenda kukudzidziswa uye ruzivo rwekuti ungakubata sei. Pindura muChirungu, nekuti Chris achasarudza mutori wechikamu achapinda kudzidziswa pachake.
Isu tichazivisa zita remudzidzi wekudzidziswa mune ino post uye pasocial network Avito yevagadziri (AvitoTech mu. Facebook, Vkontakte, Twitter) pasati papfuura Chikunguru 19.

Source: www.habr.com

Voeg