Re tseba eng ka li-microservices

Lumela! Lebitso la ka ke Vadim Madison, ke etella pele nts'etsopele ea Avito System Platform. Ho se ho boletsoe ho feta hanngoe hore na rona k'hamphaning re tloha mohahong oa monolithic ho ea ho microservices. Ke nako ea ho arolelana kamoo re fetotseng litšebeletso tsa rona tsa motheo hore re rue molemo ka ho fetisisa ho li-microservices le ho itšireletsa hore re se ke ra lahleha ho tsona. PaaS e re thusa joang mona, kamoo re nolofalitseng phepelo le ho fokotsa ho theoa ha microservice ho tobetsa e le 'ngoe - bala ho ea pele. Hase ntho e 'ngoe le e' ngoe eo ke e ngolang ka tlase e sebelisoang ka botlalo ho Avito, tse ling tsa tsona ke kamoo re ntlafatsang sethala sa rona kateng.

('Me qetellong ea sengoloa sena, ke tla bua ka monyetla oa ho ba teng seminareng ea matsatsi a mararo ho tsoa ho setsebi sa meralo ea microservice Chris Richardson).

Re tseba eng ka li-microservices

Re tlile joang ho microservices

Avito ke e 'ngoe ea libaka tse kholo ka ho fetisisa lefatšeng; lipapatso tse ncha tse fetang limilione tse 15 li hatisoa ho eona ka letsatsi. Backend ea rona e amohela likopo tse fetang likete tse 20 motsotsoana. Hajoale re na le li-microservices tse makholo a 'maloa.

E se e le lilemo tse 'maloa re ntse re haha ​​​​mohaho oa microservice. Joang hantle - basebetsi-'moho le rona ka botlalo bolelletsoe karolong ea rona ho RIT ++ 2017. Ho CodeFest 2017 (bona. видео), Sergey Orlov le Mikhail Prokopchuk ba hlalositse ka ho qaqileng hore na ke hobane'ng ha re hloka phetoho ho li-microservices le hore na Kubernetes o ile a phetha karolo efe mona. Joale, joale re etsa sohle se matleng a rona ho fokotsa litšenyehelo tse amanang le moralo o joalo.

Qalong, ha rea ​​ka ra theha tsamaiso ea tikoloho e neng e tla re thusa ka botlalo ho theha le ho qala li-microservices. Ba mpa ba bokella litharollo tse utloahalang tsa mohloli o bulehileng, ba li tsebisa hae 'me ba mema moqapi ho sebetsana le tsona. Ka lebaka leo, o ile a ea libakeng tse leshome le metso e 'meli (li-dashboards, litšebeletso tsa ka hare), ka mor'a moo a matlafala takatsong ea hae ea ho khaola khoutu ka tsela ea khale, ka monolith. 'Mala o motala litšoantšong tse ka tlase o bontša seo moqapi a se etsang ka tsela e' ngoe kapa e 'ngoe ka matsoho a hae,' me 'mala o mosehla o bontša ho iketsetsa.

Re tseba eng ka li-microservices

Hona joale ts'ebetsong ea PaaS CLI, tšebeletso e ncha e bōptjoa ka taelo e le 'ngoe,' me database e ncha e kenyelletsoa ka tse ling tse peli ebe e fetisetsoa ho Stage.

Re tseba eng ka li-microservices

Mokhoa oa ho hlola mehla ea "microservice fragmentation"

Ka mohaho oa monolithic, molemong oa ho tsitsa ha liphetoho sehlahisoa, bahlahisi ba ile ba qobelloa ho tseba se etsahalang le baahelani ba bona. Ha u sebetsa mohahong o mocha, maemo a litšebeletso ha a sa itšetleha ka tse ling.

Ntle le moo, hore meralo ea microservice e atlehe, ho tlameha ho thehoe lits'ebetso tse ngata, e leng:

• ho rema lifate;
• kopa ho lateloa (Jaeger);
• ho bokella liphoso (Sentry);
• maemo, melaetsa, liketsahalo tse tsoang ho Kubernetes (Event Stream Processing);
• moeli oa lebelo / potoloho ea potoloho (o ka sebelisa Hystrix);
• taolo ea khokahanyo ea litšebeletso (re sebelisa Netramesh);
• tlhokomelo (Grafana);
• kopano (TeamCity);
• puisano le tsebiso (Slack, email);
• ho latedisa mosebetsi; (Jira)
• ho lokisetsa litokomane.

Ho etsa bonnete ba hore tsamaiso ha e lahleheloe ke botšepehi ba eona 'me e lula e sebetsa ha e ntse e lekanya, re ile ra nahana hape ka mokhatlo oa microservices ho Avito.

Mokhoa oa ho laola li-microservices

Thuso e latelang ea ho kenya tšebetsong "pholisi ea mokha" e kopaneng har'a li-microservices tse ngata tsa Avito:

  • ho arola mekhoa ea motheo ka mekhahlelo;
  • Sethala e le mohopolo oa Tšebeletso (PaaS);
  • ho lekola tsohle tse etsahalang ka microservices.

Likarolo tsa abstraction tsa lisebelisoa li kenyelletsa mekhahlelo e meraro. Ha re eeng holimo ho ea tlase.

A. Top - tšebeletso letlooeng. Qalong re ile ra leka Istio, empa ho ile ha fumaneha hore e sebelisa lisebelisoa tse ngata haholo, tse theko e boima haholo bakeng sa meqolo ea rona. Ka hona, moenjiniere e moholo sehlopheng sa meralo Alexander Lukyanchenko o ile a iketsetsa tharollo ea hae - Netramesh (e fumaneha ho Open Source), eo hona joale re e sebelisang tlhahiso le e jang lisebelisoa tse fokolang ka makhetlo a 'maloa ho feta Istio (empa ha e etse ntho e 'ngoe le e' ngoe eo Istio e ka ithorisang ka eona).
B. Medium - Kubernetes. Re sebelisa le ho sebelisa li-microservices ho eona.
C. Tlase - tšepe e se nang letho. Ha re sebelise maru kapa lintho tse kang OpenStack, empa re itšetlehile ka ho feletseng ka tšepe e se nang letho.

Likarolo tsohle li kopantsoe ke PaaS. 'Me sethala sena, ka lehlakoreng le leng, se na le likarolo tse tharo.

I. Lijenereithara, e laoloang ka sesebelisoa sa CLI. Ke eena ea thusang moqapi ho theha microservice ka tsela e nepahetseng le ka boiteko bo fokolang.

II. Mokgobokelli ya kopantsweng ka taolo ea lisebelisoa tsohle ka dashboard e tloaelehileng.

III. Polokelo. E hokahana le bahlophisi ba ipehelang lithapo tsa liketso tsa bohlokoa. Ka lebaka la tsamaiso e joalo, ha ho mosebetsi o le mong o hloloheloa hobane feela motho e mong a lebetse ho theha mosebetsi Jira. Re sebelisa sesebelisoa sa ka hare se bitsoang Atlas bakeng sa sena.

Re tseba eng ka li-microservices

Ts'ebetsong ea li-microservices ho Avito e boetse e etsoa ho latela morero o le mong, o nolofatsang taolo holim'a bona sethaleng ka seng sa nts'etsopele le ho lokolloa.

Phaephe e tloaelehileng ea ntlafatso ea microservice e sebetsa joang?

Ka kakaretso, ketane ea pōpo ea microservice e shebahala tjena:

CLI-push → Tšebelisano e Tsoelang Pele → Bake → Sebelisa → Liteko tsa Maiketsetso → Litlhahlobo tsa Canary → Teko ea Squeeze → Tlhahiso → Tlhokomelo.

Ha re e feteng hantle ka tatellano ena.

CLI-sututsa

• Ho theha microservice.
Re ile ra sokola ka nako e telele ho ruta moqapi e mong le e mong mokhoa oa ho etsa li-microservices. Sena se ne se kenyelletsa ho ngola litaelo tse qaqileng ho Confluence. Empa merero e ile ea fetoha ’me ea eketsoa. Sephetho ke hore botlolo bo ile ba hlaha qalong ea leeto: ho ile ha nka nako e telele ho qala li-microservices, 'me mathata a ne a ntse a hlaha hangata nakong ea pōpo ea bona.

Qetellong, re thehile sesebelisoa se bonolo sa CLI se tsamaisang mehato ea mantlha ha re theha microservice. Ebile, e nkela sebaka sa pele sa git push. Mona ke seo a se etsang hantle.

— E etsa tshebeletso ho ya ka thempleite — kgato ka kgato, ka mokgwa wa “wizate”. Re na le litempele tsa lipuo tsa mantlha tsa lenaneo ho Avito backend: PHP, Golang le Python.

- Taelo e le 'ngoe ka nako e sebelisa tikoloho bakeng sa nts'etsopele ea lehae mochining o itseng - Minikube e qalisoa, lichate tsa Helm li hlahisoa ka bo eona ebe li hlahisoa ho kubernetes ea lehae.

- E hokela polokelongtshedimosetso e hlokehang. Moqapi ha a hloke ho tseba IP, ho kena le password ho fumana sebaka sa polokelo ea boitsebiso seo a se hlokang - ebang ke sebakeng sa heno, sethaleng, kapa tlhahiso. Ho feta moo, database e kenngoa hang-hang ka tlhophiso e mamellang liphoso le ka ho leka-lekanya.

- E etsa kopano e phelang ka boeona. Ha re re moqapi o lokisitse ho hong ho microservice ka IDE ea hae. Ts'ebeliso e bona liphetoho tsamaisong ea faele, 'me, e ipapisitse le tsona, e aha sesebelisoa (bakeng sa Golang) ebe e qala hape. Bakeng sa PHP, re fetisetsa bukana ka har'a cube 'me ho na le "live-reload" e fumanoang "ka tsela e iketsang".

- E hlahisa li-autotest. Ka sebopeho sa likheo, empa se loketse ho sebelisoa.

• Ho tsamaisoa ha Microservice.

Ho tsamaisa microservice e ne e le mosebetsi o boima ho rona. Ho ne ho hlokahala tse latelang:

I. Dockerfile.

II. Lokisa.
III. Chate ea Helm, eo ka boeona e boima ebile e kenyelletsa:

- lichate ka botsona;
- li-template;
- litekanyetso tse ikhethileng ho nahanoa ka libaka tse fapaneng.

Re tlositse bohloko ba ho sebetsa hape ho Kubernetes, kahoo li se li hlahisoa ka bo eona. Empa habohlokoa le ho feta, ba ile ba nolofatsa thomello ho isa tekanyong. Ho tloha joale ho ea pele re na le Dockerfile, 'me moqapi o ngola config kaofela faeleng e le' ngoe e khutšoanyane ea app.toml.

Re tseba eng ka li-microservices

E, 'me ho app.toml ka boeona ha ho letho le lokelang ho etsoa ka motsotso. Re hlakisa hore na ke likopi life le tse kae tsa ts'ebeletso eo re lokelang ho e phahamisa (ho seva sa dev, sethaleng, tlhahiso), 'me re bonts'a litšepiso tsa eona. Ela hloko boholo ba mohala = "bonyane" ka har'a boloko ba [enjine]. Ona ke moeli o tla abeloa ts'ebeletso ka Kubernetes.

Ebe, ho ipapisitse le tlhophiso, lichate tsohle tse hlokahalang tsa Helm li hlahisoa ka bo eona 'me likhokahano ho li-database lia etsoa.

• Netefatso ya motheo. Licheke tse joalo li boetse li etsoa ka boiketsetso.
Ho hlokahala ho latela:
- na ho na le Dockerfile;
- na ho na le app.toml;
- na ho na le litokomane tse teng?
- na ho itšetleha ka tatellano?
- hore na melao ea tlhokomeliso e behiloe.
Ho fihlela ntlheng ea ho qetela: mong'a litšebeletso ka boeena o etsa qeto ea hore na ke metrics efe ea sehlahisoa eo a lokelang ho e beha leihlo.

• Tokiso ea litokomane.
E ntse e le sebaka sa bothata. E bonahala e le eona e totobetseng ka ho fetisisa, empa ka nako e ts'oanang e boetse e le tlaleho "hangata e lebetsoeng", 'me ka hona e le sehokelo se tlokotsing ka ketane.
Hoa hlokahala hore ho be le litokomane bakeng sa microservice ka 'ngoe. E kenyelletsa li-blocks tse latelang.

I. Tlhaloso e khuts'oane ea ts'ebeletso. Ka ho toba lipolelo tse 'maloa mabapi le seo e se etsang le hore na ke hobane'ng ha e hlokahala.

II. Sehokelo sa setšoantšo sa meralo. Ke habohlokoa hore ka ho e sheba ka potlako ho bonolo ho e utloisisa, ka mohlala, hore na u sebelisa Redis bakeng sa caching kapa e le lebenkele le ka sehloohong la data ka mokhoa o tsitsitseng. Ho Avito hajoale sena ke sehokelo sa Confluence.

III. Runbook. Tataiso e khuts'oane ea ho qala ts'ebeletso le mathata a ho e sebetsana.

IV. LBH, moo ho ka bang molemo ho lebella mathata ao basebetsi-'moho le uena ba ka kopanang le 'ona ha u sebetsa le tšebeletso.

V. Tlhaloso ea lintlha tsa ho qetela tsa API. Haeba ka tšohanyetso u sa ka ua hlakisa libaka tseo u eang ho tsona, basebetsi-'moho le bona bao li-microservices tsa bona li amanang le tsa hau ba tla batla ba li lefella. Joale re sebelisa Swagger mme tharollo ea rona e bitsoa bokhuts'oane bakeng sa sena.

VI. Labels. Kapa matšoao a bontšang hore na tšebeletso ke ea sehlahisoa sefe, ts'ebetso, kapa karohano ea sebopeho sa k'hamphani. Li u thusa ho utloisisa kapele, mohlala, hore na u fokotsa ts'ebetso eo basebetsi-'moho le uena ba e entseng bakeng sa yuniti e le 'ngoe ea khoebo bekeng e fetileng.

VII. Mong'a kapa beng ba litšebeletso. Maemong a mangata, eona - kapa bona - e ka khethoa ka bo eona ka ho sebelisa PaaS, empa hore re be ka lehlakoreng le sireletsehileng, re hloka hore moqapi a li hlalose ka letsoho.

Qetellong, ke mokhoa o motle oa ho hlahloba litokomane, tse tšoanang le tlhahlobo ea khoutu.

Tšebelisano e tsoelang pele

  • Ho lokisa polokelo.
  • Ho theha lipeipi ho TeamCity.
  • Ho beha litokelo.
  • Batla beng ba litšebeletso. Ho na le leano la lebasetere mona - ho tšoaea ka letsoho le boits'oaro bo fokolang bo tsoang ho PaaS. Sekema sa othomathike ka botlalo se hloleha ha lits'ebeletso li fetisetsoa ho sehlopha se seng sa nts'etsopele kapa, mohlala, haeba mofani oa litšebeletso a tlohela.
  • Ho ngolisa litšebeletso ho Atlas (sheba ka holimo). Le beng ba eona bohle le ba itšetlehileng ka eona.
  • Ho hlahloba ho falla. Re hlahloba hore na ho na le e 'ngoe ea tsona e ka bang kotsi. Mohlala, ho e 'ngoe ea tsona ho hlaha tafole ea liphetoho kapa ntho e' ngoe e ka senyang tšebelisano ea schema ea data lipakeng tsa mefuta e fapaneng ea ts'ebeletso. Joale ho falla ha ho etsoe, empa ho behoa ho ngolisa - PaaS e tlameha ho bontša mong'a litšebeletso ha ho sireletsehile ho e sebelisa.

Bak

Mohato o latelang ke litšebeletso tsa ho paka pele ho romelloa.

  • Ho aha kopo. Ho ea ka li-classics - ka setšoantšo sa Docker.
  • Moloko oa lichate tsa Helm bakeng sa ts'ebeletso ka boeona le lisebelisoa tse amanang. Ho kenyeletsoa bakeng sa databases le cache. Li bōpiloe ka mokhoa o itekanetseng ho latela app.toml config e hlahisitsoeng sethaleng sa CLI-push.
  • Ho etsa litekete tsa li-admins ho bula likou (ha ho hlokahala).
  • Ho etsa liteko tsa yuniti le ho bala khaso ea khoutu. Haeba ts'ebetso ea khoutu e ka tlase ho moeli o boletsoeng, joale tšebeletso e ke ke ea fetela pele - ho tsamaisoa. Haeba e le mothating oa ho amoheleha, joale tšebeletso e tla abeloa "coefficient" ea "pessimizing": joale, haeba ho se na ntlafatso ho letšoao ka nako, moqapi o tla fumana tsebiso ea hore ha ho na tsoelo-pele ho latela liteko ( mme ho na le ntho e lokelang ho etswa ka yona).
  • Accounting bakeng sa memori le meeli ea CPU. Re ngola haholo li-microservices ho Golang ebe re li tsamaisa Kubernetes. Ka hona, bolotsana bo le bong bo amanang le ho ikhetha ha puo ea Segolang: ka ho sa feleng, ha ho qala, ho sebelisoa li-cores tsohle mochineng, haeba u sa behe ka ho hlaka phapang ea GOMAXPROCS, 'me ha litšebeletso tse' maloa tse joalo li hlahisoa mochine o le mong, li qala. ho qothisana lehlokoa le matlotlo, ho kena-kenana le bonngwe. Li-graph tse ka tlase li bonts'a hore na nako ea ts'ebetso e fetoha joang haeba o tsamaisa kopo ntle le likhohlano le peisong ea mokhoa oa lisebelisoa. (Mehloli ea li-graph ke mona).

Re tseba eng ka li-microservices

Nako ea ts'ebetso, e nyane e betere. Boholo: 643ms, bonyane: 42ms. Senepe se ka tobeha.

Re tseba eng ka li-microservices

Nako ea ho buuoa, ho fokotseha ho molemo. Boholo: 14091 ns, bonyane: 151 ns. Senepe se ka tobeha.

Sethaleng sa ho lokisetsa kopano, o ka seta phetoho ena ka ho hlaka kapa o ka sebelisa laeborari Automaxprocs ho tsoa ho bahlankana ba Uber.

Tsamaisa

• Ho hlahloba likopano. Pele o qala ho tsamaisa likopano tsa litšebeletso libakeng tseo u li rerileng, u lokela ho hlahloba tse latelang:
- Liphetho tsa API.
- Ho latela melao ea API ho fana ka likarabo ka schema.
- Sebopeho sa log.
- Ho beha lihlooho bakeng sa likopo tsa ts'ebeletso (hajoale sena se etsoa ke netramesh)
- Ho beha lets'oao la mong'a hau ha u romella melaetsa beseng ea ketsahalo. Sena sea hlokahala ho latela khokahano ea lits'ebeletso ho pholletsa le bese. U ka romella lintlha tse peli tse sa tsebeng letho ho bese, e sa eketseng khokahanyo ea lits'ebeletso (e ntle), le data ea khoebo e matlafatsang khokahanyo ea lits'ebeletso (e leng mpe haholo!). 'Me nakong eo khokahanyo ena e fetohang bothata, ho utloisisa hore na ke mang ea ngolang le ho bala bese e thusa ho arola litšebeletso hantle.

Ha ho na likopano tse ngata haholo Avito leha ho le joalo, empa letamo la bona le ntse le eketseha. Ha litumellano tse joalo li fumaneha ka mokhoa oo sehlopha se ka o utloisisang le ho o utloisisa, ho ba bonolo ho boloka botsitso pakeng tsa li-microservices.

Liteko tsa maiketsetso

• Teko ea loop e koetsoeng. Bakeng sa sena hona joale re sebelisa mohloli o bulehileng Hoverfly.io. Ntlha ea pele, e tlaleha mojaro oa sebele tšebeletsong, ebe - feela ka leqhubu le koetsoeng - e e etsisa.

• Teko ea Khatello ea Maikutlo. Re leka ho tlisa lits'ebeletso tsohle ts'ebetsong e nepahetseng. 'Me mefuta eohle ea ts'ebeletso e' ngoe le e 'ngoe e tlameha ho ba tlas'a tlhahlobo ea mojaro - ka tsela ena re ka utloisisa ts'ebetso ea hajoale ea ts'ebeletso le phapang le liphetolelo tse fetileng tsa ts'ebeletso e ts'oanang. Haeba, ka mor'a ts'ebetso ea ts'ebeletso, ts'ebetso ea eona e theohile ka nako e le 'ngoe le halofo, ena ke pontšo e hlakileng ho beng ba eona: o hloka ho cheka khoutu le ho lokisa boemo.
Re sebelisa lintlha tse bokeletsoeng, ho etsa mohlala, ho kenya ts'ebetso ea autoscaling ka nepo, 'me qetellong, ka kakaretso re utloisisa hore na ts'ebeletso e ka mpefala hakae.

Nakong ea tlhahlobo ea mojaro, re hlahloba hore na tšebeliso ea lisebelisoa e kopana le meeli e behiloeng. 'Me re tsepamisa maikutlo haholo-holo ho feteletseng.

a) Re sheba kakaretso ea mojaro.
- E nyane haholo - mohlomong ho na le ntho e sa sebetseng ho hang haeba mojaro o theoha ka tšohanyetso makhetlo a 'maloa.
- E kholo haholo - ho hlokahala ntlafatso.

b) Re sheba cutoff ho latela RPS.
Mona re sheba phapang pakeng tsa phetolelo ea hona joale le e fetileng le palo eohle. Ka mohlala, haeba tšebeletso e hlahisa li-rps tse 100, joale e ka 'na ea ngoloa hampe, kapa ena ke eona e ikhethang, empa ho sa tsotellehe boemo leha e le bofe, sena ke lebaka la ho sheba tšebeletso haufi-ufi.
Haeba, ho fapana le hoo, ho na le li-RPS tse ngata haholo, mohlomong ho na le mofuta o itseng oa kokoanyana 'me lintlha tse ling li emisitse ho phethahatsa mojaro oa moputso,' me e 'ngoe e qala feela. return true;

Litlhahlobo tsa Canary

Kamora ho feta litekong tsa maiketsetso, re leka microservice ho palo e nyane ea basebelisi. Re qala ka hloko, ka karolo e nyane ea bamameli ba reriloeng - ka tlase ho 0,1%. Mothating ona, ho bohlokoa haholo hore metrics e nepahetseng ea tekheniki le lihlahisoa li kenyellelitsoe tlhahlobong e le hore li bonts'e bothata ts'ebeletso kapele kamoo ho ka khonehang. Nako e fokolang ea tlhahlobo ea canary ke metsotso e 5, e ka sehloohong ke lihora tse 2. Bakeng sa lits'ebeletso tse rarahaneng, re beha nako ka letsoho.
Ha re hlahlobeng:
- metrics e khethehileng ea puo, haholo-holo, basebetsi ba php-fpm;
- liphoso ho Sentry;
- maemo a karabelo;
- nako ea karabo, e nepahetseng le e tloaelehileng;
- latency;
- mekhelo, e sebetsitsoe ebile e sa sebetsoe;
- metrics ea lihlahisoa.

Teko ea Penya

Teko ea Squeeze e boetse e bitsoa tlhahlobo ea "squeezing". Lebitso la mokhoa ona le ile la hlahisoa ho Netflix. Ntho ea bohlokoa ea eona ke hore pele re tlatsa ketsahalo e le 'ngoe ka sephethephethe sa sebele ho fihlela re hlōleha' me kahoo re beha moeli oa sona. Ebe re eketsa mohlala o mong ebe re kenya para ena - hape ho ea holimo; re bona siling ea bona le delta ka "pete" ea pele. Kahoo re hokahanya mohlala o le mong ka nako ebe re bala mokhoa oa liphetoho.
Lintlha tsa liteko ka "peteletso" le tsona li phallela polokelong ea li-metrics tse tloaelehileng, moo re ka ntlafatsang liphetho tsa boima ba maiketsetso ka tsona, kapa ra beha "synthetics" ka tsona.

Tlhahiso

• Ho phahamisa. Ha re fana ka ts'ebeletso ho tlhahiso, re beha leihlo hore na e hola joang. Boiphihlelong ba rona, ho beha leihlo matšoao a CPU feela ha ho na thuso. Ho lekanya ka boits'oaro ka benchmarking ea RPS ka sebopeho sa eona se hloekileng ho sebetsa, empa bakeng sa lits'ebeletso tse itseng feela, joalo ka ho hasanya marang-rang. Kahoo re sheba pele metrics ea sehlahisoa se ikhethileng.

Ka lebaka leo, ha re lekanya, re sekaseka:
- Lipontšo tsa CPU le RAM,
- palo ea likopo tse moleng,
- nako ea karabo,
- ponelopele e ipapisitseng le data e bokelletsoeng ea nalane.

Ha u phahamisa tšebeletso, ho bohlokoa hape ho beha leihlo ho its'etleha ha eona e le hore re se ke ra phahamisa ts'ebeletso ea pele ka ketane, mme tseo e li fihlelang li hloleha tlas'a mojaro. Ho theha mojaro o amohelehang bakeng sa letamo lohle la lits'ebeletso, re sheba lintlha tsa nalane tsa ts'ebeletso e its'etlehang "haufi" (e ipapisitseng le motsoako oa matšoao a CPU le RAM, hammoho le metrics e ikhethileng ea app) ebe re li bapisa le data ea nalane. ea ts'ebeletso ea ho qala, joalo-joalo ho pholletsa le "ketane ea ho itšetleha" ", ho tloha holimo ho ea tlase.

Tšebeletso

Kamora hore microservice e sebetse, re ka hokela lintho tse susumetsang ho eona.

Mona ke maemo a tloaelehileng ao ho ona lintho tse qholotsang li hlahang.
- Ho lemohuoe ho falla ho ka bang kotsi.
- Lintlafatso tsa ts'ireletso li lokollotsoe.
- Ts'ebeletso ka boeona ha e so ntlafatsoe nako e telele.
-Moroalo oa ts'ebeletso o fokotsehile haholo kapa litekanyetso tse ling tsa sehlahisoa sa eona li kantle ho sebaka se tloaelehileng.
- Ts'ebeletso ha e sa kopana le litlhoko tse ncha tsa sethala.

Tse ling tsa lintho tse susumetsang li na le boikarabelo ba botsitso ba ts'ebetso, tse ling - e le mosebetsi oa ho boloka tsamaiso - ka mohlala, tšebeletso e 'ngoe ha e e-s'o sebelisoe nako e telele' me setšoantšo sa eona sa motheo se khaolitse ho fetisa licheke tsa tšireletso.

Dashboard

Ka bokhutšoanyane, dashboard ke karolo ea taolo ea PaaS eohle ea rona.

  • Ntlha e le 'ngoe ea tlhahisoleseling mabapi le ts'ebeletso, e nang le lintlha tsa tlhahlobo ea eona ea tlhahlobo, palo ea litšoantšo tsa eona, palo ea likopi tsa tlhahiso, liphetolelo, joalo-joalo.
  • Sesebelisoa sa ho sefa data ka lits'ebeletso le lileibole (matshwao a likarolo tsa khoebo, ts'ebetso ea sehlahisoa, jj.)
  • Sesebelisoa sa ho hokahana le lisebelisoa tsa meralo ea ho ts'oara, ho rema lifate le ho beha leihlo.
  • Tokomane ea ntlha e le 'ngoe ea litšebeletso.
  • Pono e le 'ngoe ea liketsahalo tsohle ho pholletsa le litšebeletso.

Re tseba eng ka li-microservices
Re tseba eng ka li-microservices
Re tseba eng ka li-microservices
Re tseba eng ka li-microservices

Kakaretso

Pele a hlahisa PaaS, moqapi e mocha a ka qeta libeke tse 'maloa a utloisisa lisebelisoa tsohle tse hlokahalang ho qala microservice tlhahiso: Kubernetes, Helm, likarolo tsa rona tsa ka hare tsa TeamCity, ho theha likhokahano ho li-database le li-cache ka mokhoa o mamellang liphoso, joalo-joalo. ho nka lihora tse 'maloa ho bala ho qala kapele le ho iketsetsa tšebeletso ka boeona.

Ke fane ka tlaleho ka sehlooho sena bakeng sa HighLoad ++ 2018, u ka e shebella видео и nehelano.

Bonus pina bakeng sa ba balang ho fihlela qetellong

Re Avito re hlophisa koetliso ea ka hare ea matsatsi a mararo bakeng sa batho ba ntlafatsang ho tloha Chris Richardson, setsebi sa meralo ea microservice. Re rata ho fana ka monyetla oa ho kenya letsoho ho e mong oa babali ba poso ena. ke Lenaneo la koetliso le kentsoe.

Koetliso e tla etsahala ho tloha ka August 5 ho ea ho 7 Moscow. Ana ke matsatsi a mosebetsi a tla be a tšoarehile ka botlalo. Lijo tsa motšehare le koetliso li tla ba ofising ea rona, 'me motho ea khethiloeng o tla lefella maeto le bolulo ka boeena.

U ka etsa kopo ea ho nka karolo ka mokhoa ona oa google. Ho tsoa ho uena - karabo ea potso ea hore na ke hobane'ng ha u lokela ho ba teng thupelong le boitsebiso ba hore na u ka ikopanya le uena joang. Araba ka Senyesemane, hobane Chris o tla khetha monkakarolo ea tla ba teng thupelong ka boeena.
Re tla phatlalatsa lebitso la morupeluoa oa koetliso ntlafatsong ea poso ena le marang-rang a sechaba Avito bakeng sa bahlahisi (AvitoTech in Facebook, Vkontakte, Twitter) pele ho la 19 Phupu.

Source: www.habr.com

Eketsa ka tlhaloso