O le a se mea matou te iloa e uiga i microservices

Talofa! O loʻu igoa o Vadim Madison, ou te taʻitaʻia le atinaʻeina o le Avito System Platform. Ua fa'ailoa mai e sili atu ma le fa'atasi pe fa'afefea ona matou si'itia i totonu o le kamupani mai se fa'ata'ita'iga monolithic i se microservices. Ua o'o i le taimi e fa'asoa atu ai pe fa'afefea ona tatou suia a tatou atina'e e maua ai le tele o mea mai microservices ma puipuia ai i tatou mai le leiloa i latou. Fa'afefea ona fesoasoani le PaaS ia i matou iinei, pe fa'afefea ona matou fa'afaigofieina le fa'atinoina ma fa'aitiitia le fausiaina o se microservice i le kiliki e tasi - faitau pea. E le o mea uma ou te tusia e uiga i lalo o loʻo faʻatinoina atoatoa i Avito, o nisi o le auala tatou te atiina ae ai la tatou faʻavae.

(Ma i le faaiuga o lenei tusiga, o le a ou talanoa e uiga i le avanoa e auai ai i se semina e tolu aso mai le microservice architecture expert Chris Richardson).

O le a se mea matou te iloa e uiga i microservices

Na faapefea ona matou o mai i microservices

Avito o se tasi o nofoaga sili ona fa'avasegaina i le lalolagi e sili atu i le 15 miliona fa'asalalauga fou o lo'o fa'asalalau i luga i le aso. E talia e le matou pito i tua le silia ma le 20 afe talosaga i le sekone. O loʻo i ai nei a matou auaunaga faʻapitoa e tele selau.

Ua tele tausaga o matou fauina se fausaga microservice. E faʻapefea tonu - a matou paaga i auiliiliga taʻu atu i la matou vaega i RIT ++ 2017. I CodeFest 2017 (vaai. видео), Sergey Orlov ma Mikhail Prokopchuk faʻamatala auiliili pe aisea na matou manaʻomia ai le suiga i microservices ma le mea na faia e Kubernetes iinei. Ia, o lea o loʻo matou faia mea uma e faʻaitiitia ai tau faʻaleleia o loʻo iai i sea fausaga.

I le taimi muamua, matou te leʻi faia se faʻalapotopotoga faʻanatura e fesoasoani atoatoa ia i matou e atiaʻe ma faʻalauiloa microservices. Na latou aoina faʻamatalaga faʻamatalaga matala matala, faʻalauiloa i latou i le fale ma valaʻaulia le atinaʻe e taulimaina. O se taunuuga, sa ia alu atu i le tele o nofoaga (dashboards, auaunaga i totonu), ina ua uma ona malosi i lona manao e tipi le code ala tuai, i se monolith. O le lanu meamata i ata o loʻo i lalo o loʻo faʻaalia ai le mea e faia e le tagata atiaʻe i se tasi auala poʻo se isi i ona lava lima, ma o le lanu samasama e faʻaalia ai le masini.

O le a se mea matou te iloa e uiga i microservices

I le taimi nei i le aoga PaaS CLI, ua faia se auaunaga fou i le tasi poloaiga, ma o se faʻamaumauga fou e faʻaopoopoina ma isi lua ma tuʻuina atu i le Stage.

O le a se mea matou te iloa e uiga i microservices

E faʻafefea ona foia le vaitau o le "microservice fragmentation"

Faʻatasi ai ma se faʻataʻitaʻiga monolithic, mo le lelei o suiga o le oloa, na faʻamalosia ai le au atinaʻe e iloa le mea o loʻo tupu ma o latou tuaoi. A'o galue i le fausaga fou, e le toe fa'alagolago le tasi i le isi.

E le gata i lea, ina ia aoga se fausaga microservice, e tele faiga e manaʻomia ona faʻavae, e pei o:

• taina;
• talosaga su'e (Jaeger);
• fa'aputuga sese (Sentry);
• tulaga, fe'au, mea na tutupu mai Kubernetes (Event Stream Processing);
• tapula'a ta'aloga / ta'aloga ta'avale (e mafai ona e fa'aoga Hystrix);
• pulea o feso'ota'iga auaunaga (matou te fa'aogaina Netramesh);
• mata'ituina (Grafana);
• fa'apotopotoga (TeamCity);
• feso'ota'iga ma fa'amatalaga (Slack, imeli);
• tulituliloaina o galuega; (Jira)
• tapenaga o fa'amaumauga.

Ina ia mautinoa o le faiga e le leiloa lona faʻamaoni ma tumau pea le aoga aʻo fuaina, matou toe mafaufau i le faʻatulagaina o microservices i Avito.

E fa'afefea ona matou fa'atautaia microservices

O fesoasoani nei e faʻatino ai se "faiga faʻavae faʻavae" faʻatasi i le tele o Avito microservices:

  • vaevaeina o aseta i luga ole laiga;
  • Fa'avae o se Au'aunaga (PaaS) manatu;
  • mata'ituina mea uma e tutupu i microservices.

O fa'aputuga fa'apitoa e aofia ai fa'avae e tolu. Tatou o mai luga i lalo.

A. Luga - tautua mata. I le taimi muamua na matou faʻataʻitaʻiina Istio, ae na faʻaalia e faʻaaogaina le tele o punaoa, lea e taugata tele mo a matou voluma. O le mea lea, na fausia ai e le inisinia sinia i le au tusiata Alexander Lukyanchenko lana lava fofo - Netramesh (o loʻo maua i Open Source), lea matou te faʻaaogaina i le taimi nei i le gaosiga ma o loʻo faʻaaogaina le tele o taimi e itiiti ifo punaoa nai lo Istio (ae le faia mea uma e mafai e Istio ona mitamita ai).
B. Medium - Kubernetes. Matou te fa'apipi'iina ma fa'agaoioi microservices i luga.
C. Lalo - u'amea gaogao. Matou te le faʻaogaina ao poʻo mea e pei o OpenStack, ae faʻalagolago atoa i le uamea.

O laulau uma e tu'ufa'atasia e PaaS. Ma o lenei tulaga, i le isi itu, e aofia ai vaega e tolu.

I. Generatore, pulea e ala ile aoga CLI. O ia lea e fesoasoani i le atinaʻe e fausia se microservice i le auala saʻo ma faʻatasi ai ma se taumafaiga itiiti.

II. Fa'aputu fa'atasi ma le pulea o meafaigaluega uma e ala i se dashboard masani.

III. Teuina. Feso'ota'i ma fa'asologa e otometi ona seti fa'aoso mo gaioiga taua. Fa'afetai i se faiga fa'apea, e leai se galuega e tasi e misi ona ua galo i se tasi ona fa'atulaga se galuega i Jira. Matou te faʻaogaina se meafaigaluega i totonu e taʻua o Atlas mo lenei.

O le a se mea matou te iloa e uiga i microservices

O le faʻatinoga o microservices i Avito o loʻo faʻatinoina foi e tusa ai ma se fuafuaga e tasi, lea e faʻafaigofie ai le puleaina o latou i laʻasaga taʻitasi o le atinaʻe ma le faʻamalolo.

E fa'afefea ona fa'aogaina se paipa fa'apitoa mo le atina'eina o microservice?

I se tulaga lautele, o le microservice filifili filifili e pei o lenei:

CLI-push → Faʻaauau Faʻatasi → Tao → Faʻapipiʻi → Faʻataʻitaʻiga faʻataʻitaʻi → Suʻega Canary → Suʻega Oomi → Gaosiga → Tausiga.

Sei o tatou faia tonu lava i le faasologa lea.

CLI-tuunai

• Fausia se auaunaga laiti.
Na matou tauivi mo se taimi umi e aʻoaʻo soʻo se atinaʻe pe faʻapefea ona fai microservices. Na aofia ai le tusiaina o faʻamatalaga auiliili ile Confluence. Ae na suia fuafuaga ma sa faaopoopo. O le iʻuga o le faʻaalia o se fagu i le amataga o le faigamalaga: na umi se taimi e faʻalauiloa ai microservices, ma o faʻafitauli e masani ona tulaʻi mai i le taimi o le latou foafoaga.

I le faaiuga, na matou fausia se faʻaoga faigofie CLI e faʻaaogaina ai laasaga autu pe a fatuina se microservice. O le mea moni, e sui ai le muamua git push. O le mea tonu lea na te faia.

- Fausia se auaunaga e tusa ai ma se faʻataʻitaʻiga - laʻasaga i lea laasaga, i le "taulaitu" mode. E iai a matou faʻataʻitaʻiga mo gagana autu polokalame i le pito i tua o Avito: PHP, Golang ma Python.

- Tasi le fa'atonuga i le taimi e fa'apipi'i ai se si'osi'omaga mo atina'e fa'apitonu'u i luga o se masini fa'apitoa - Minikube fa'alauiloa, Helm siata e otometi lava ona gaosia ma fa'alauiloa i kubernetes i le lotoifale.

- Faʻafesoʻotaʻi le faʻamaumauga manaʻomia. E le manaʻomia e le tagata atiaʻe ona iloa le IP, saini ma le faʻaupuga e maua ai le avanoa i le database na te manaʻomia - pe i le lotoifale, i le Stage, poʻo le gaosiga. E le gata i lea, o le database o loʻo faʻapipiʻiina vave i se faʻatonuga faʻaletonu ma faʻatasi ai ma le paleni.

— Na te faia le faatasiga ola lava ia. Fa'apea na fa'asa'o e se tagata atia'e se mea i se microservice e ala i lana IDE. O le aoga e vaʻaia suiga i le faila faila ma, faʻavae i luga o latou, toe fausia le talosaga (mo Golang) ma toe amata. Mo PHP, matou te tuʻuina atu le lisi i totonu o le pusa ma o loʻo maua ai le ola-reload "otometi".

- Fausia su'ega ta'avale. I foliga o avanoa, ae fetaui lelei mo le faʻaaogaina.

• Tu'ufa'atasiga o auaunaga laiti.

O le fa'aogaina o se microservice sa avea ma se galuega tele mo i matou. O mea nei na manaʻomia:

I. Dockerfile.

II. Config.
III. Siata foeuli, lea lava ia e faigata ma e aofia ai:

— o siata lava latou;
- fa'ata'ita'iga;
- faʻatatauga faʻapitoa e amanaʻia ai siosiomaga eseese.

Ua matou ave'esea le tiga mai le toe galueaina o fa'aaliga Kubernetes ina ia otometi lava ona gaosia. Ae o le mea e sili ona taua, na latou faʻafaigofieina le faʻapipiʻiina i le tapulaʻa. Mai le taimi nei o loʻo i ai a matou Dockerfile, ma e tusia e le tagata faʻapipiʻi le config atoa i se tasi faila app.toml puupuu.

O le a se mea matou te iloa e uiga i microservices

Ioe, ma i totonu o le app.toml lava ia e leai se mea e fai mo se minute. Matou te faʻamaoti poʻo fea ma pe fia kopi o le tautua e faʻatupuina (i luga o le dev server, i luga o le faʻatulagaina, i le gaosiga), ma faʻaalia ona faʻalagolago. Matau le lapopoa o le laina = "laititi" i le poloka [engine]. O le tapula'a lea o le a tu'uina atu i le 'au'aunaga e ala i Kubernetes.

Ona, fa'avae i luga o le config, o siata Helm mana'omia uma e otometi lava ona fa'atupuina ma fa'apipi'i feso'ota'iga i fa'amaumauga.

• Fa'amaoniga autu. O ia siaki e otometi foi.
Manaomia ona siaki:
- o iai se Dockerfile;
— o iai le app.toml;
- o iai ni fa'amaumauga e maua?
— o fa'atatau le fa'alagolago?
- pe ua uma ona seti tulafono mataala.
I le mea mulimuli: o lē e ona le auaunaga lava ia e filifili po o fea fua o oloa e mataʻituina.

• Saunia o fa'amaumauga.
Ose vaega fa'afitauli. E foliga mai e sili ona manino, ae i le taimi lava e tasi o se faamaumauga foi "e masani ona galo", ma o le mea lea o se sootaga vaivai i le filifili.
E mana'omia le iai o fa'amaumauga mo microservice ta'itasi. E aofia ai poloka nei.

I. Fa'amatalaga puupuu o le auaunaga. O ni nai fuaiupu e uiga i le mea e fai ma pe aisea e manaʻomia ai.

II. So'oga fa'atusa ata. E taua le vave ona tilotilo i ai e faigofie ona malamalama, mo se faʻataʻitaʻiga, pe o loʻo e faʻaaogaina Redis mo le faʻapipiʻiina poʻo le faʻatauga autu o faʻamaumauga i le faiga faifai pea. I Avito mo le taimi nei o se sootaga lea i le Confluence.

III. Tusi ta'avale. O se ta'iala pu'upu'u i le amataina o le tautua ma le lavelave o le taulimaina.

IV. FAQ, lea e lelei ai le fa'atalitali i fa'afitauli e ono feagai ma au pa'aga pe a galulue ma le tautua.

V. Fa'amatalaga o fa'ai'uga mo le API. Afai e teʻi faʻafuaseʻi e te leʻi faʻamaonia le mea e alu i ai, o le au paʻaga o latou microservices e fesoʻotaʻi ma oe e toetoe lava a totogia. O lea ua matou faʻaogaina le Swagger ma le matou fofo e taʻua puupuu mo lenei mea.

VI. Fa'ailoga. Po'o fa'ailoga e fa'aalia ai po'o fea oloa, fa'atinoga, po'o vaega fa'avae a le kamupani e iai le auaunaga. Latou te fesoasoani ia te oe ia vave malamalama, mo se faʻataʻitaʻiga, pe o loʻo e tipiina galuega na faʻataʻitaʻiina e au paaga mo le pisinisi lava lea i le vaiaso talu ai.

VII. Pule po'o e ona le auaunaga. I le tele o tulaga, o - poʻo latou - e mafai ona faʻamoemoeina otometi e faʻaaoga ai le PaaS, ae ina ia i ai i le itu saogalemu, matou te manaʻomia le tagata atiaʻe e faʻamaonia ma le lima.

Ma le mea mulimuli, o se faʻataʻitaʻiga lelei le toe iloiloina o faʻamaumauga, e tutusa ma le iloiloga o tulafono.

Faaauauina pea

  • Saunia fale teu oloa.
  • Fausia se paipa i TeamCity.
  • Fa'atulagaina o aia tatau.
  • Su'e mo tagata e ana auaunaga. O loʻo i ai se faʻaoga faʻapipiʻi iinei - faʻailoga tusi ma laʻititi laʻititi mai le PaaS. E le manuia se polokalame otometi pe a fesiita'i au'aunaga mo le lagolago i se isi au atina'e po'o, mo se fa'ata'ita'iga, pe a fa'amuta le au'aunaga.
  • Le resitalaina o se auaunaga i Atlas (silasila i luga). Faatasi ai ma ona tagata uma ma ona tagata faʻalagolago.
  • Siakiina femalagaiga. Matou te siaki pe iai se tasi o ia mea e ono lamatia. Mo se faʻataʻitaʻiga, i totonu o se tasi oi latou se laulau sui poʻo se isi mea e oso aʻe e mafai ona motusia le fetaui o faʻamaumauga faʻamaumauga i le va o ituaiga eseese o le auaunaga. Ona le faia lea o le femalagaiga, ae tuʻu i totonu o se saofaga - e tatau i le PaaS ona faʻamaonia le pule o le tautua pe a saogalemu e faʻaaogaina.

Fafaga

O le isi laasaga o le afifiina o auaunaga aʻo leʻi faʻapipiʻiina.

  • Fausia le talosaga. E tusa ai ma le masani - i se ata Docker.
  • Fa'atupuina o siata Helm mo le auaunaga lava ia ma punaoa fa'atatau. E aofia ai faʻamaumauga ma faʻamaumauga. E otometi lava ona faia e tusa ai ma le app.toml config na faia i le CLI-push stage.
  • Fausia tiketi mo le pulega e tatala ports (pe a manaʻomia).
  • Fa'atino su'ega a le iunite ma fa'atatau le fa'asologa o tulafono. Afai o le tulafono fa'asalalau o lo'o i lalo ifo o le fa'ailoga fa'apitoa, e foliga mai o le a le alu atili le 'au'aunaga - i le fa'atulagaina. Afai o loʻo i luga ole laiga o le taliaina, ona tuʻuina atu lea o le 'auʻaunaga i se "pessimizing" coefficient: ona, afai e leai se faʻaleleia atili o le faʻailoga i le aluga o taimi, o le a maua e le atiaʻe se faʻamatalaga e leai se alualu i luma i tulaga o suʻega ( ma e tatau ona faia se mea e uiga i ai).
  • Tausitusi mo le manatua ma tapulaʻa CPU. E masani ona matou tusia microservices i Golang ma faʻatautaia i Kubernetes. O le mea lea, e tasi le mea faʻapitoa e fesoʻotaʻi ma le uiga ese o le gagana Golang: e ala i le le mafai, pe a amata, o loʻo faʻaogaina uma i luga o le masini, pe afai e te le faʻatulagaina manino le GOMAXPROCS fesuiaʻi, ma pe a faʻalauiloa le tele o ia auaunaga i le masini lava e tasi, latou te amata. e tauva mo punaoa, faʻalavelave le tasi i le isi. O kalafi o loʻo i lalo o loʻo faʻaalia ai pe faʻafefea ona suia le taimi o le faʻatinoga pe afai e te faʻaogaina le talosaga e aunoa ma se finauga ma i le tuuga mo punaoa. (O puna o kalafi o iinei).

O le a se mea matou te iloa e uiga i microservices

Taimi fa'atino, itiiti le lelei. Maualuluga: 643ms, laʻititi: 42ms. O le ata e mafai ona kiliki.

O le a se mea matou te iloa e uiga i microservices

Taimi mo taotoga, itiiti le lelei. Maualuluga: 14091 ns, laʻititi: 151 ns. O le ata e mafai ona kiliki.

I le tulaga sauniuni faʻapotopotoga, e mafai ona e setiina lenei fesuiaiga manino pe mafai foi ona e faʻaogaina le faletusi automaxprocs mai tama mai Uber.

Fa'atino

• Su'esu'eina feagaiga. Ae e te leʻi amata tuʻuina atu faʻapotopotoga tautua i au siosiomaga faʻamoemoeina, e tatau ona e siaki mea nei:
- API fa'ai'uga.
- Fa'amalieina o tali fa'ai'uga API fa'atasi ma le polokalame.
— Faasologa o ogalaau.
- Faʻatulagaina ulutala mo talosaga i le 'auʻaunaga (o loʻo faia nei e netramesh)
- Faʻatulagaina le tagata e ona le faʻailoga pe a lafoina feʻau i le pasi o mea na tupu. E mana'omia lenei mea e siaki ai le feso'ota'iga o auaunaga i luga o le pasi. E mafai ona e tuʻuina atu faʻamatalaga uma e lua i le pasi, lea e le faʻateleina ai le fesoʻotaʻiga o auaunaga (lea e lelei), ma faʻamatalaga pisinisi e faʻamalosia ai le fesoʻotaʻiga o auaunaga (lea e matua leaga lava!). Ma i le taimi e avea ai lenei fesoʻotaʻiga ma faʻafitauli, o le malamalama poʻo ai e tusitusi ma faitau le pasi e fesoasoani i le vavaeeseina lelei o auaunaga.

E leʻi tele naua tauaofiaga i Avito, ae o loʻo faʻalauteleina lo latou vaitaele. O le tele o ia maliega e maua i se faiga e mafai ona malamalama ma malamalama ai le 'au, o le faigofie foi lea o le faatumauina o le tutusa i le va o microservices.

Su'ega fa'akomepiuta

• Su'ega tapuni tapuni. Mo lenei mea o loʻo matou faʻaogaina nei punaoa tatala Hoverfly.io. Muamua, e fa'amauina le uta moni i luga o le 'au'aunaga, ona - na'o totonu o se matasele tapuni - e fa'ata'ita'i ai.

• Su'ega Fa'afitauli. Matou te taumafai e aumai uma auaunaga i le faʻatinoga sili ona lelei. Ma o faʻasalalauga uma o auaunaga taʻitasi e tatau ona faʻatatau i suʻega uta - o le auala lea e mafai ai ona tatou malamalama i le faʻatinoga o loʻo iai nei o le auaunaga ma le eseesega ma lomiga muamua o le auaunaga tutusa. Afai, i le maeʻa ai o se faʻafouga o le auʻaunaga, o lana faʻatinoga na pa'ū i le tasi ma le afa taimi, o se faʻailoga manino lea mo ona tagata: e tatau ona e eli i totonu o le code ma faʻasaʻo le tulaga.
Matou te faʻaogaina faʻamaumauga aoina, mo se faʻataʻitaʻiga, e faʻatino saʻo ai le faʻaogaina o le taʻavale ma, i le faaiuga, e masani ona malamalama i le faʻaogaina o le auaunaga.

I le taimi o su'ega o uta, matou te siaki pe fetaui le fa'aogaina o punaoa ma tapulaa fa'atulagaina. Ma e matou te taulaʻi atu i mea e sili ona leaga.

a) Matou te vaʻavaʻai i le aofaʻi atoa.
- Laiti tele - e foliga mai e leai se mea e aoga pe a faʻafuaseʻi ona pa'ū le uta i ni nai taimi.
- Tele tele - mana'omia le fa'alelei.

b) Matou te vaʻavaʻai i le tipi e tusa ai ma le RPS.
O iinei tatou te vaʻavaʻai ai i le eseesega i le va o le taimi nei ma le muamua ma le aofaʻi atoa. Mo se faʻataʻitaʻiga, afai o se auaunaga e maua ai le 100 rps, o lona uiga e le lelei le tusiaina, pe o lona faʻapitoa lea, ae i soʻo se tulaga, o se mafuaaga lea e vaʻavaʻai ai i le auaunaga.
Afai, i se isi itu, e tele naua RPS, atonu o loʻo i ai se ituaiga o pusa ma o nisi o faʻaiʻuga ua taofia le faʻatinoina o le uta, ma o se isi e faʻaosoina. return true;

Su'ega Canary

A maeʻa ona matou pasi suʻega faʻapipiʻi, matou te suʻeina le microservice i luga o se numera toʻaitiiti o tagata faʻaoga. Matou te amata faʻaeteete, faʻatasi ai ma se vaega itiiti o le au faʻamoemoe o le auʻaunaga - itiiti ifo i le 0,1%. I lenei laʻasaga, e taua tele le faʻapipiʻiina o fua faʻatekinisi ma oloa saʻo i le mataʻituina ina ia latou faʻaalia le faʻafitauli i le auaunaga i le vave e mafai ai. Ole taimi aupito maualalo ole su'ega canary ole 5 minute, ole mea autu ole 2 itula. Mo auaunaga lavelave, matou te setiina le taimi ma le lima.
Tatou iloilo:
- fua fa'atatau i le gagana, aemaise lava, tagata faigaluega php-fpm;
- mea sese i le Sentry;
- tulaga tali;
- taimi tali, sa'o ma averesi;
— le tumau;
- tuusaunoaga, fa'agaioiina ma le fa'aaogaina;
- fua fa'atatau.

Oomi Su'ega

Omi Su'ega e ta'ua fo'i o le su'ega "oomi". O le igoa o le metotia na faʻafeiloaʻi i Netflix. O lona uiga o le muamua tatou faʻatumu se tasi faʻataʻitaʻiga i felauaiga moni i le tulaga o le toilalo ma faʻapea ona faʻatulagaina lona tapulaʻa. Ona matou faʻaopoopoina lea o se isi faʻataʻitaʻiga ma utaina lenei paga - toe i le maualuga; matou te vaʻaia o latou faʻalo ma delta ma le "oomi" muamua. Ma o lea matou te faʻafesoʻotaʻi tasi faʻataʻitaʻiga i le taimi ma fuafua le mamanu o suiga.
O faʻamatalaga o suʻega e ala i le "oomi" e tafe atu foi i totonu o se faʻamaumauga masani metrics, lea tatou te faʻatamaoaigaina ai taunuuga o uta faʻapitoa ma i latou, pe suia foi "synthetics" ma i latou.

Gaosiga

• Fua. A matou faʻasalalau se auaunaga i le gaosiga, matou te mataʻituina pe faʻafefea ona fua. I lo matou poto masani, o le mataʻituina naʻo faʻailoga CPU e le aoga. O le faʻaogaina o le taʻavale ma le RPS benchmarking i lona tulaga mama e galue, ae naʻo mo nisi auaunaga, e pei o le faʻafefe i luga ole laiga. O lea matou te vaʻavaʻai muamua i fua faʻatatau o oloa faʻapitoa.

O se taunuuga, pe a fuaina matou suʻesuʻe:
- faʻailoga PPU ma le RAM,
- le numera o talosaga i le laina,
- taimi tali,
- valo'aga fa'avae i fa'amaumauga fa'asolopito fa'aputuina.

Pe a fuaina se auaunaga, e taua foi le mataʻituina o ona faʻalagolago ina ia aua neʻi tatou fuaina le auaunaga muamua i le filifili, ma o i latou na te mauaina e le manuia i lalo o le uta. Ina ia faʻatuina se uta talafeagai mo le vaitaele atoa o auaunaga, matou te vaʻavaʻai i faʻamaumauga faʻasolopito o le auaunaga faʻalagolago "latalata mai" (faʻavae i luga o le tuʻufaʻatasiga o faʻailoga o le PPU ma le RAM, faʻatasi ma faʻataʻitaʻiga faʻapitoa) ma faʻatusatusa i latou i faʻamaumauga faʻasolopito. o le auaunaga amata, ma isi i le "filifiliga faalagolago" ", mai luga i lalo.

Auaunaga

A maeʻa ona faʻaogaina le microservice, e mafai ona matou faʻapipiʻi faʻaoso i ai.

O tulaga masani ia e tutupu ai fa'aoso.
— Na maua ni femalagaiga mata'utia.
- Ua faʻasalalau faʻamatalaga saogalemu.
- O le auaunaga lava ia e leʻi faʻafouina mo se taimi umi.
- O le uta i luga o le auaunaga ua faʻaitiitia le faʻaitiitia poʻo nisi o ana fua faʻatau i fafo atu o le tulaga masani.
— E le o toe ausia e le au'aunaga tulaga mana'omia fou.

O nisi o mea faʻaoso e nafa ma le mautu o le gaioiga, o nisi - o se galuega o le tausiga o faiga - mo se faʻataʻitaʻiga, o nisi auaunaga e leʻi faʻaaogaina mo se taimi umi ma o lona ata faʻavae ua le toe pasia siaki saogalemu.

Laupapa laupapa

I se faapuupuuga, o le dashboard o le vaega e pulea a matou PaaS atoa.

  • O se tasi itu o faʻamatalaga e uiga i le tautua, faʻatasi ai ma faʻamaumauga i luga o ana suʻega faʻataʻitaʻiga, numera o ana ata, numera o kopi gaosiga, faʻasologa, ma isi.
  • O se meafaigaluega mo le faʻamamaina o faʻamaumauga e ala i auaunaga ma faʻailoga (faailoga o le auai i iunite pisinisi, gaioiga o oloa, ma isi)
  • O se meafaigaluega tu'ufa'atasia ma meafaigaluega fa'apitoa mo le su'eina, fa'amauina, ma le mata'ituina.
  • Se vaega e tasi o pepa o auaunaga.
  • Se manatu e tasi o mea uma na tutupu i totonu o auaunaga.

O le a se mea matou te iloa e uiga i microservices
O le a se mea matou te iloa e uiga i microservices
O le a se mea matou te iloa e uiga i microservices
O le a se mea matou te iloa e uiga i microservices

Aofaʻi

A'o le'i fa'ailoaina le PaaS, e mafai ona fa'aalu e se tagata fa'atupu fou ni nai vaiaso e malamalama ai i meafaigaluega uma e mana'omia e fa'alauiloa ai se microservice i le gaosiga: Kubernetes, Helm, a tatou vaega i totonu TeamCity, fa'atulagaina feso'ota'iga i fa'amaumauga ma fa'amaumauga i se faiga fa'apalepale, ma isi. e alu ni nai itula e faitau ai le amataga vave ma fai le auaunaga lava ia.

Na ou tuuina atu se lipoti i lenei autu mo HighLoad ++ 2018, e mafai ona e matamata i ai видео и ata.

Ponesi ala mo i latou e faitau seia oo i le iuga

O matou i Avito o loʻo faʻatulagaina se aʻoaʻoga i totonu e tolu aso mo tagata atiae mai Chris Richardson, o se tagata poto faapitoa i le fausaga microservice. Matou te fia tuʻuina atu le avanoa e auai ai i se tasi o le au faitau o lenei pou. o Ua fa'asalalauina le polokalame a'oa'oga.

O a'oa'oga o le a faia mai ia Aokuso 5 i le aso 7 i Moscow. O aso faigaluega ia o le a fa'atumu atoa. O le taumafataga o le aoauli ma aʻoaʻoga o le a i totonu o le matou ofisa, ma o le sui filifilia o le a totogi mo femalagaaiga ma fale nofo.

E mafai ona e talosaga mo le auai i lenei google fomu. Mai ia oe - o le tali i le fesili pe aisea e te manaʻomia ai le auai i aʻoaʻoga ma faʻamatalaga i le auala e faʻafesoʻotaʻi ai oe. Tali i le Igilisi, aua o le a filifilia e Chris le tagata o le a auai i le aoaoga.
Matou te faʻasalalau le igoa o le tagata aʻoga i se faʻafouga i lenei pou ma luga o fesoʻotaʻiga lautele Avito mo tagata atiaʻe (AvitoTech i Facebook, Vkontakte, Twitter) e le sili atu ia Iulai 19.

puna: www.habr.com

Faaopoopo i ai se faamatalaga