Fausia poloka o talosaga tufatufaina. Ole fua faatatau

Fausia poloka o talosaga tufatufaina. Ole fua faatatau

E le tumau le lalolagi. O le alualu i luma e faatupuina ai ni luitau fou faatekinolosi. E tusa ai ma suiga manaʻomia, e tatau ona faʻaleleia le fausaga o faiga faʻamatalaga. O le asō o le a tatou talanoa e uiga i le faʻatulagaina o faʻataʻitaʻiga, concurrency, concurrency, asynchrony, ma le auala e mafai ai ona e ola filemu ma nei mea uma i Erlang.

Faatomuaga

Faʻalagolago i le tele o le faiga faʻatulagaina ma manaʻoga mo ia, o matou, o le au atinaʻe, filifili le auala e fesuiaʻi ai faʻamatalaga i totonu o le polokalama. I le tele o tulaga, e faʻatulagaina le fegalegaleaiga o auaunaga, o se filifiliga galue e mafai ona avea ma se fuafuaga ma se tagata fai pisinisi, mo se faʻataʻitaʻiga, faʻavae i luga o RabbitMQ poʻo kafka. Ae o nisi taimi o le tafe o mea na tutupu, SLA ma le maualuga o le puleaina o le faiga e le talafeagai mo i tatou. Ioe, e mafai ona e faʻalavelaveina le faiga e ala i le tauaveina o le matafaioi mo le felauaiga o felauaiga ma le faʻavaeina o fuifui, mo se faʻataʻitaʻiga faʻaaoga ZeroMQ poʻo nanomsg. Ae afai o le faiga e lava le gaosiga ma le gafatia o se fuifui masani Erlang, o le mataupu o le faʻaofiina o se faʻalapotopotoga faʻaopoopo e manaʻomia ai suʻesuʻega auiliili ma faʻamaoniaga tau tamaoaiga.

O le autu o talosaga tufatufa fa'afoliga e fai si lautele. Ina ia tausia i totonu o le faatulagaga o le tusiga, o le autu o le talanoaga i aso nei o le a na o siosiomaga tutusa e fausia i luga o Erlang / Elixir. O le Erlang/OTP ecosystem e mafai ai ona e fa'atinoina se fa'ata'ita'iga fa'afoliga fa'atasi ai ma le itiiti ifo o le taumafaiga. Ae i soʻo se tulaga, matou te manaʻomia se faʻailoga feʻau.

Fa'avae fa'avae

O le mamanu e amata i le faʻamalamalamaina o sini ma faʻalavelave. O le sini autu e le o le vaega o atinaʻe mo le manuia o le atinaʻe. Matou te manaʻomia le mauaina o se meafaigaluega malupuipuia ma faʻaogaina i luga o le faʻavae e mafai ona matou fatuina ma, sili ona taua, faʻatupuina faʻaoga faʻaonaponei o laʻasaga eseese: amata mai i le tasi-server talosaga e tautuaina se au maimoa, lea e mafai ona tupu mulimuli ane i fuifui e oʻo atu i le 50 -60 nodes, fa'ai'u i fuifui federations. O le mea lea, o le sini autu o le faʻateleina o tupe mama e ala i le faʻaitiitia o le tau o le atinaʻe ma le umiaina o le faiga mulimuli.

Seʻi o tatou faʻamalamalamaina manaʻoga autu e 4 mo le faiga mulimuli:

  • Сfa'atatau i mea e tutupu.
    O le faiga e saunia i taimi uma e pasi atu i le tafe o mea tutupu ma faia gaioiga talafeagai;
  • Мscalability.
    O poloka ta'ito'atasi e mafai ona fua fa'asaga i luga ma fa'alava. O le faiga atoa e tatau ona mafai ona tupu fa'alava e le gata;
  • Оfaapalepale sese.
    O tulaga uma ma auaunaga uma e tatau ona mafai ona otometi ona toe faʻaleleia mai faʻaletonu;
  • Гtaimi tali mautinoa.
    E taua le taimi ma e le tatau i tagata faʻaoga ona faʻatali umi.

Manatua le tala fagogo tuai e uiga i le "O le tamai afi e mafai"? Ina ia mafai e le faiga mamanu ona alu ese ma le manuia mai le tulaga faataitai ma ia alualu i luma, o lona faavae e tatau ona ausia tulaga maualalo. SMOG.

E tasi le isi vaega e faʻaopoopoina i feʻau e avea o se meafaigaluega faʻapitoa ma le faʻavae mo auaunaga uma: faigofie faʻaoga mo tagata fai polokalame.

Fa'atatau i mea e tutupu

Mo se talosaga e tupu a'e mai se server e tasi i se fuifui, e tatau ona lagolagoina e lona fausaga le so'o fa'atasi. O le fa'ata'ita'iga asynchronous e fetaui ma lenei mana'oga. I totonu, e popole le tagata e auina atu ma le tagata e mauaina le uta o faʻamatalaga o le feʻau ma aua le popole i le faʻasalalau ma le taʻavale i totonu o le faiga.

Scalability

Scalability ma faiga lelei e sosoo ma le isi. E tatau ona mafai e vaega ole talosaga ona fa'aoga uma punaoa avanoa. O le sili atu ona lelei e mafai ona tatou faʻaogaina le gafatia ma sili atu ona lelei a tatou metotia faʻagaioiga, o le itiiti ifo o tupe tatou te faʻaaluina i masini.

I totonu o se masini e tasi, e fatuina e Erlang se siosiomaga sili ona tauva. O le paleni i le va o le tutusa ma le tutusa e mafai ona seti e ala i le filifilia o le numera o filo faʻaogaina o loʻo avanoa i le Erlang VM ma le numera o tagata faʻatulagaina e faʻaogaina nei filo.
O faiga a Erlang e le fa'asoa le setete ma fa'agaoioi ile faiga e le poloka. Ole mea lea e maua ai le laititi maualalo ma maualuga le gaosiga nai lo fa'aoga masani fa'avae poloka. E fa'amautinoa e le fa'atulagaina e Erlang le fa'asoa sa'o o le PPU ma le IO, ma o le leai o se poloka e mafai ai ona tali atu le talosaga e tusa lava pe o'o i uta po'o fa'aletonu.

I le vaega fa'afuifui, o lo'o iai fo'i le fa'afitauli ile lafoai. E taua tele o masini uma o loʻo i totonu o le fuifui e tutusa le utaina ma o le fesoʻotaʻiga e le mamafa tele. Sei o tatou mafaufau i se tulaga: tagata faʻaoga fanua i luga o paleni o loʻo oʻo mai (haproxy, nginx, ma isi), latou te tufatufaina atu talosaga faʻagaioiga i se tulaga tutusa i le va o seti o backends avanoa. I totonu o le atinaʻeina o talosaga, o le 'auʻaunaga o loʻo faʻatinoina le atinaʻe manaʻomia e naʻo le maila mulimuli ma o le a manaʻomia le talosagaina o le tele o isi auʻaunaga e tali atu i le talosaga muamua. O talosaga i totonu e manaʻomia foʻi le faʻaogaina ma le paleni.
Ina ia pulea lelei le tafe o faʻamatalaga, e tatau i feʻau ona tuʻuina atu i tagata atiaʻe se atinaʻe e pulea ai le auala ma le paleni o uta. Faʻafetai i lenei mea, o le a mafai e le au atinaʻe, faʻaaogaina mamanu microservice (aggregator, sui, filifili, lala, ma isi), e foia uma faʻafitauli masani ma mea e seasea tulaʻi mai.

Mai se vaaiga pisinisi, scalability o se tasi lea o meafaigaluega e pulea tulaga lamatia. O le mea autu o le faʻamalieina o talosaga a tagata faʻatau e ala i le faʻaogaina lelei o meafaigaluega:

  • Pe a faʻateleina le malosi o meafaigaluega ona o se taunuuga o le alualu i luma. O le a le fa'aletonu ona o polokalama le atoatoa. Erlang fua fa'atatau lelei ma o le a mafai i taimi uma ona fa'aoga uma CPU cores ma manatua avanoa;
  • I totonu o siosiomaga ao, e mafai ona tatou pulea le aofaʻi o meafaigaluega e faʻatatau i le taimi nei poʻo le vaʻaia o uta ma faʻamaonia le SLA.

faapalepale sese

Seʻi o tatou iloiloina ni axiom se lua: “E lē taliaina le toʻilalo” ma le “E iai lava mea e lē taulau ai.” Mo se pisinisi, o le faaletonu o polokalama o lona uiga o le leiloa o tupe, ma le mea e sili atu ona leaga, o le leiloa o le igoa. Fa'apaleni i le va o gau ma le tau o le atina'eina o polokalama fa'aletonu, e masani ona maua se fa'amaliega.

I se taimi pu'upu'u, o se fausaga e aofia ai le fa'apalepale masei e fa'asaoina ai tupe i le fa'atauina o vaifofo fa'apipi'i i fafo. E taugata ma e iai fo'i a latou pepe.
I se taimi umi, o se fausaga fa'apalepale fa'aletonu e totogi mo ia lava i le tele o taimi i la'asaga uma o le atina'e.
Feau i totonu o le code base e mafai ai ona e galue i auiliiliga o fegalegaleaiga o vaega i totonu o le faiga i le laasaga o le atinaʻe. O lenei mea e faafaigofieina ai le galuega o le tali atu ma le puleaina o faaletonu, talu ai o vaega taua uma e taulimaina faaletonu, ma o le taunuuga o le faiga e iloa ai le auala e otometi ai ona toe foi i le masani pe a uma le toilalo e ala i le mamanu.

Tali atu

Po o le a lava le toilalo, e tatau i le talosaga ona tali atu i talosaga ma fetaui ma le SLA. O le mea moni e le manaʻo tagata e faʻatali, o lea e tatau ai i pisinisi ona fetuunai e tusa ai. O le tele ma le tele o talosaga e fa'amoemoe e maualuga le tali mai.
O talosaga tali mai o lo'o fa'agaoioi i se taimi lata mai. Erlang VM o loʻo faʻagaoioia i le faʻamalieina taimi moni. Mo nisi vaega, e pei o fefaʻatauaʻiga o faʻatauga, vailaʻau, ma le faʻatonutonuina o meafaigaluega faʻapisinisi, e taua tele le faʻaogaina o le taimi moni.
O faiga fa'afoliga e fa'aleleia ai le UX ma manuia ai le pisinisi.

Aotelega amata

I le fuafuaina o lenei tusiga, sa ou manaʻo e faʻasoa atu loʻu poto masani i le fatuina o se fefaʻatauaʻiga feʻau ma le fausiaina o faiga faʻapitoa e faʻavae i luga. Ae o le vaega faʻapitoa ma faʻaosofia na faʻaalia e matua lautele.
I le vaega lona lua o le tusiga, o le a ou talanoa e uiga i nuances o le faʻatinoina o fefaʻatauaiga, mamanu feʻau ma latou faʻaoga.
I le vaega lona tolu o le a tatou iloiloina mataupu lautele o le faʻatulagaina o auaunaga, faʻasologa ma le paleni. Sei o tatou talanoa e uiga i le itu aoga o scalability ma sese faapalepale o faiga.

Fa'ai'uga o le vaega muamua.

ata @lucabravo.

puna: www.habr.com

Faaopoopo i ai se faamatalaga