Li-block tsa lisebelisoa tse ajoang. Khakanyo ea zero

Li-block tsa lisebelisoa tse ajoang. Khakanyo ea zero

Lefatshe ha le eme. Khatelo-pele e hlahisa mathata a macha a theknoloji. Ho latela litlhoko tse fetohang, meralo ea litsamaiso tsa tlhahisoleseling e tlameha ho fetoha. Kajeno re tla bua ka meaho e tsamaisoang ke liketsahalo, concurrency, concurrency, asynchrony, le hore na u ka phela ka khotso joang le tsena tsohle ho Erlang.

Selelekela

Ho itšetlehile ka boholo ba tsamaiso e entsoeng le litlhoko tsa eona, rona, bahlahisi, re khetha mokhoa oa ho fapanyetsana tlhahisoleseding tsamaisong. Maemong a mangata, ho hlophisa tšebelisano ea litšebeletso, khetho ea ho sebetsa e ka 'na ea e-ba leano le broker, ka mohlala, e thehiloeng ho RabbitMQ kapa kafka. Empa ka linako tse ling ho phalla ha liketsahalo, SLA le boemo ba taolo holim'a tsamaiso ke hore melaetsa e lokiselitsoeng e sa re tšoanele. Ha e le hantle, o ka thatafatsa tsamaiso hanyenyane ka ho nka boikarabelo bakeng sa lera la lipalangoang le sebopeho sa lihlopha, mohlala ho sebelisa ZeroMQ kapa nanomsg. Empa haeba tsamaiso e na le lisebelisoa tse lekaneng le bokhoni ba sehlopha se tloaelehileng sa Erlang, joale taba ea ho hlahisa mokhatlo o eketsehileng o hloka boithuto bo qaqileng le tokafatso ea moruo.

Sehlooho sa likopo tse ajoang tse sebetsang se pharaletseng haholo. Ho boloka sebopeho sa sengoloa, sehlooho sa puisano ea kajeno e tla ba tikoloho e ts'oanang e hahiloeng ho Erlang/Elixir. The Erlang/OTP ecosystem e u lumella ho kenya tšebetsong meralo e sebetsang ka boikitlaetso bo fokolang. Empa leha ho le joalo, re tla hloka lera la melaetsa.

Theory motheo

Moralo o qala ka ho hlalosa lipakane le litšitiso. Sepheo sa mantlha ha se sebakeng sa nts'etsopele molemong oa nts'etsopele. Re hloka ho fumana sesebelisoa se sireletsehileng le se ka senyehang motheong oa seo re ka se qapang, 'me sa bohlokoa ka ho fetisisa, re ntlafatse lits'ebetso tsa sejoale-joale tsa maemo a fapaneng: ho qala ka lits'ebetso tsa seva e le 'ngoe tse sebeletsang bamameli ba fokolang, tseo hamorao li ka fetohang lihlopha tse fihlang ho 50. -60 nodes, e qetellang ka mekhatlo ea lihlopha. Kahoo, sepheo se seholo ke ho eketsa phaello ka ho fokotsa litšenyehelo tsa nts'etsopele le beng ba tsamaiso ea ho qetela.

Ha re totobatseng litlhoko tse 4 tsa mantlha tsa sistimi ea ho qetela:

  • Сe sekametseng ketsahalong.
    Tsamaiso e lula e itokiselitse ho feta ho phalla ha liketsahalo le ho etsa liketso tse hlokahalang;
  • Мscalability.
    Li-blocks ka bomong li ka fokotsoa ka ho otloloha le ho ea holimo. Tsamaiso eohle e tlameha ho khona ho hola ho sa feleng ho rapameng;
  • Оmamello ea liphoso.
    Maemo ohle le lits'ebeletso tsohle li lokela ho khona ho hlaphoheloa ka bo eona ho tsoa mefokolong;
  • Гnako e tiisitsoeng ea karabo.
    Nako ke ea bohlokoa 'me basebelisi ha baa lokela ho ema nako e telele haholo.

Na u hopola pale ea khale ea "Enjene e nyane e ka khonang"? E le hore tsamaiso e entsoeng e atlehe ho tsoa sethaleng sa prototype 'me e tsoele pele, motheo oa eona o tlameha ho finyella litlhoko tse fokolang SMOG.

Ntlha e 'ngoe e eketsoa ho melaetsa e le sesebelisoa sa litšebeletso tsa motheo le motheo oa litšebeletso tsohle: boiketlo ba tšebeliso bakeng sa baetsi ba mananeo.

E shebaneng le ketsahalo

Hore sesebelisoa se hole ho tloha ho seva se le seng ho ea ho sehlopha, meralo ea eona e tlameha ho ts'ehetsa khokahano e hlephileng. Mohlala oa asynchronous o kopana le tlhoko ena. Ho eona, moromeli le moamoheli ba tsotella mojaro oa tlhahisoleseling oa molaetsa mme ha ba tšoenyehe ka phetiso le ho tsamaisa ka har'a sistimi.

Ho se sebetse

Scalability le ts'ebetso ea sistimi li haufi le tse ling. Likarolo tsa kopo li tlameha ho khona ho sebelisa lisebelisoa tsohle tse teng. Ha re ka sebelisa bokhoni ka nepo le mekhoa ea rona ea ts'ebetso e nepahetseng haholoanyane, re sebelisa chelete e nyane ho reka lisebelisoa.

Ka har'a mochini o le mong, Erlang e theha tikoloho e nang le tlholisano e phahameng. Tekanyo lipakeng tsa concurrency le parallelism e ka beoa ka ho khetha palo ea likhoele tsa sistimi e sebetsang e fumanehang ho Erlang VM le palo ea bahlophisi ba sebelisang likhoele tsena.
Mekhoa ea Erlang ha e arolelane mmuso mme e sebetsa ka mokhoa o sa thibeleng. Sena se fana ka latency e batlang e le tlase le ts'ebetso e phahameng ho feta lits'ebetso tse tloaelehileng tsa thibelo. Sehlophisi sa Erlang se netefatsa kabo e nepahetseng ea CPU le IO, 'me ho se be teng ha thibelo ho lumella ts'ebeliso hore e arabe le nakong ea meroalo e phahameng kapa e hlolehileng.

Boemong ba lihlopha, bothata ba ho lahla le bona bo teng. Ho bohlokoa hore mechini eohle e ka har'a sehlopha e kenngoe ka ho lekana le hore marang-rang a se ke a tlala. Ha re nahane ka boemo: sephethephethe sa basebelisi se lula ho li-balancers tse kenang (haproxy, nginx, joalo-joalo), ba aba likopo tsa ts'ebetso ka mokhoa o lekanang ka hohle kamoo ho ka khonehang lipakeng tsa sete ea li-backend tse fumanehang. Ka har'a meralo ea ts'ebeliso, ts'ebeletso e kenyang sebopeho se hlokahalang ke sebaka sa ho qetela sa maele mme e tla hloka ho kopa lits'ebeletso tse ling tse ngata ho arabela kopo ea pele. Likopo tsa ka hare li boetse li hloka ho tsamaisa le ho leka-lekanya.
Ho laola phallo ea data ka nepo, melaetsa e tlameha ho fa ba ntlafatsang sebopeho sa ho laola tsela le ho leka-lekanya thepa. Ka lebaka la sena, bahlahisi ba tla khona ho sebelisa mekhoa ea microservice (aggregator, proxy, ketane, lekala, joalo-joalo), ho rarolla mathata a tloaelehileng le a sa hlahang seoelo.

Ho ea ka pono ea khoebo, scalability ke e 'ngoe ea lisebelisoa tsa taolo ea likotsi. Taba ea mantlha ke ho khotsofatsa likopo tsa bareki ka ho sebelisa lisebelisoa hantle:

  • Ha matla a lisebelisoa a eketseha ka lebaka la tsoelo-pele. E ke ke ea sebetsa ka lebaka la software e sa phethahalang. Erlang e lekanya hantle 'me e tla lula e khona ho sebelisa li-cores tsohle tsa CPU le mohopolo o teng;
  • Libakeng tsa maru, re ka laola palo ea lisebelisoa ho itšetlehile ka mojaro oa hona joale kapa o boletsoeng esale pele le tiiso ea SLA.

mamello ea liphoso

A re hlahlobeng mabaka a mabeli: “Ho hloleha ha hoa amoheleha” le “ho hloleha ho tla lula ho le teng.” Bakeng sa khoebo, ho hlōleha ha software ho bolela ho lahleheloa ke chelete, 'me ho hobe le ho feta, ho lahleheloa ke botumo. Ho leka-lekanya pakeng tsa tahlehelo e ka bang teng le litšenyehelo tsa ho hlahisa software e mamellang liphoso, hangata ho ka fumanoa ho sekisetsa.

Ka nako e khuts'oane, moralo o kenyelletsang mamello ea liphoso o boloka chelete ka ho reka litharollo tsa lihlopha tse kantle ho sethala. Li turu ebile li na le litšitšili.
Ka nako e telele, mohaho o mamellang liphoso o lefella ka makhetlo a mangata ka mekhahlelo eohle ea tsoelo-pele.
Ho romella melaetsa ka har'a motheo oa khoutu ho u lumella ho sebetsa ka ho qaqileng ho sebelisana ha likarolo tse ka hare ho tsamaiso sethaleng sa nts'etsopele. Sena se nolofatsa mosebetsi oa ho arabela le ho laola mefokolo, kaha likarolo tsohle tsa bohlokoa li sebetsana le ho hlōleha, 'me tsamaiso e hlahisoang e tseba ho khutlela ho tloaelehileng ka mor'a ho hlōleha ka moralo.

Karabelo

Ho sa tsotelehe liphoso, kopo e tlameha ho arabela likopo mme e kopane le SLA. 'Nete ke hore batho ha ba batle ho ema, kahoo likhoebo li tlameha ho ikamahanya le maemo. Likopo tse ngata le ho feta li lebelletsoe hore li arabele haholo.
Lisebelisoa tse arabelang li sebetsa haufinyane. Erlang VM e sebetsa ka mokhoa o bonolo oa nako ea nnete. Bakeng sa libaka tse ling, joalo ka khoebo ea stock, meriana, le taolo ea lisebelisoa tsa indasteri, mokhoa o thata oa nako ea nnete o bohlokoa.
Litsamaiso tse arabelang li ntlafatsa UX mme li ruisa khoebo molemo.

Kakaretso ea pele

Ha ke rera sengoloa sena, ke ne ke batla ho arolelana boiphihlelo ba ka ba ho theha morekisi oa melaetsa le ho aha litsamaiso tse rarahaneng tse thehiloeng ho eona. Empa karolo ea theory le e susumetsang e ile ea bonahala e le e pharaletseng haholo.
Karolong ea bobeli ea sengoloa, ke tla bua ka li-nuances tsa ho kenya ts'ebetsong lintlha tsa phapanyetsano, mekhoa ea melaetsa le ts'ebeliso ea bona.
Karolong ea boraro re tla hlahloba litaba tse akaretsang tsa ho hlophisa litšebeletso, ho tsamaisa le ho leka-lekanya. Ha re bue ka lehlakore le sebetsang la scalability le mamello ea liphoso ea litsamaiso.

Qetellong ea karolo ea pele.

foto @lucabravo.

Source: www.habr.com

Eketsa ka tlhaloso