Ireo singa fototra amin'ny fampiharana zaraina. Zero approximation

Ireo singa fototra amin'ny fampiharana zaraina. Zero approximation

Tsy mijanona izao tontolo izao. Ny fandrosoana dia miteraka fanamby ara-teknolojia vaovao. Mifanaraka amin'ny fepetra takian'ny fanovana dia tsy maintsy mivoatra ny rafitry ny rafi-baovao. Anio isika dia hiresaka momba ny maritrano entin'ny hetsika, concurrency, concurrency, asynchrony, ary ny fomba ahafahanao miaina am-pilaminana miaraka amin'izany rehetra izany ao Erlang.

fampidirana

Miankina amin'ny haben'ny rafitra novolavolaina sy ny fepetra takiana amin'izany, izahay, ny mpamorona, dia misafidy ny fomba fifanakalozana vaovao ao amin'ny rafitra. Amin'ny ankabeazan'ny toe-javatra, mba handaminana ny fifandraisana amin'ny serivisy, ny safidy miasa dia mety ho tetika miaraka amin'ny broker, ohatra, mifototra amin'ny RabbitMQ na kafka. Saingy indraindray ny fikorianan'ny hetsika, ny SLA ary ny haavon'ny fifehezana ny rafitra dia tsy mety amintsika ny fandefasana hafatra efa vonona. Mazava ho azy fa azonao atao ny manasarotra kely ny rafitra amin'ny fandraisana andraikitra amin'ny soson'ny fitaterana sy ny fananganana cluster, ohatra amin'ny fampiasana ZeroMQ na nanomsg. Fa raha ny rafitra dia ampy ny throughput sy ny fahafahan'ny vondrona Erlang mahazatra, ny olana amin'ny fampidirana orinasa fanampiny dia mitaky fandalinana amin'ny antsipiriany sy fanamarinana ara-toekarena.

Ny lohahevitry ny fampiharana zaraina reactive dia malalaka. Mba hitazonana ao anatin'ny endrik'ilay lahatsoratra, ny lohahevitry ny fifanakalozan-kevitra androany dia ny tontolo homogeneous naorina amin'ny Erlang/Elixir. Ny ecosystem Erlang/OTP dia mamela anao hampihatra maritrano mihetsika miaraka amin'ny ezaka kely indrindra. Saingy na izany na tsy izany, dia mila sosona fandefasana hafatra isika.

Fototra teorika

Ny famolavolana dia manomboka amin'ny famaritana tanjona sy teritery. Ny tanjona lehibe dia tsy eo amin'ny sehatry ny fampandrosoana noho ny fampandrosoana. Mila mahazo fitaovana azo antoka sy azo esorina isika izay afaka mamorona ary, indrindra indrindra, mamolavola fampiharana maoderina amin'ny ambaratonga isan-karazany: manomboka amin'ny fampiharana amin'ny serivisy tokana manompo mpihaino vitsy, izay mety hivoatra ho vondrona hatramin'ny 50. -60 nodes, mifarana amin'ny federasiona cluster. Noho izany, ny tanjona lehibe dia ny hampitombo ny tombony amin'ny fampihenana ny vidin'ny fampandrosoana sy ny fananana ny rafitra farany.

Andeha isika hanasongadina fepetra 4 lehibe ho an'ny rafitra farany:

  • Π‘miompana amin'ny hetsika.
    Ny rafitra dia vonona hatrany handalo ny fizotran'ny hetsika sy hanao ny hetsika ilaina;
  • Мscalability.
    Ny sakana tsirairay dia azo atao mitsangana na mitsivalana. Ny rafitra iray manontolo dia tsy maintsy mahavita fitomboana marindrano tsy manam-petra;
  • Оfandeferana fahadisoana.
    Ny ambaratonga rehetra sy ny serivisy rehetra dia tokony ho afaka hiverina ho azy amin'ny tsy fahombiazana;
  • Π“fotoana famaliana azo antoka.
    Sarobidy ny fotoana ary tsy tokony hiandry ela ny mpampiasa.

Tsarovy ilay angano taloha momba ny "Ilay motera kely afaka"? Mba hahafahan'ilay rafitra novolavolaina hivoaka amim-pahombiazana amin'ny dingan'ny prototype ary ho mandroso, ny fototra dia tsy maintsy mahafeno ny fepetra faran'izay kely indrindra. zavon-tsetroka.

Hevitra iray fanampiny no ampiana amin'ny hafatra ho fitaovana fotodrafitrasa sy fototry ny tolotra rehetra: mora ampiasaina ho an'ny mpandrindra.

Miompana amin'ny hetsika

Mba hivoatra avy amin'ny mpizara tokana mankany amin'ny cluster ny rindranasa iray, ny maritranony dia tsy maintsy manohana ny fifamatorana malalaka. Mahafeno io fepetra io ny modely asynchronous. Ao anatin'izany, ny mpandefa sy ny mpandray dia mikarakara ny entam-baovaon'ny hafatra ary tsy manahy momba ny fandefasana sy ny lalana ao anatin'ny rafitra.

Scalability

Ny scalability sy ny fahombiazan'ny rafitra dia mifanakaiky. Ny singa fampiharana dia tsy maintsy afaka mampiasa ny loharano rehetra misy. Arakaraky ny hahombiazan'ny fahafahantsika mampiasa ny fahaiza-manao sy ny fomba fiasa tsara indrindra ataontsika, ny kely kokoa ny vola lanintsika amin'ny fitaovana.

Ao anatin'ny milina tokana, i Erlang dia mamorona tontolo tena mifaninana. Ny fifandanjana eo amin'ny concurrency sy parallelism dia azo apetraka amin'ny alΓ lan'ny fisafidianana ny isan'ny rafi-pandaminana misy ny Erlang VM sy ny isan'ny mpandrindra mampiasa ireo kofehy ireo.
Ny fizotry ny Erlang dia tsy mizara fanjakana ary miasa amin'ny fomba tsy manakana. Izany dia manome fahatarana somary ambany sy fampandehanana ambony kokoa noho ny fampiharana mifototra amin'ny fanakanana mahazatra. Ny fandaharam-potoana an'i Erlang dia miantoka ny fizarana ara-drariny ny CPU sy ny IO, ary ny tsy fisian'ny fanakanana dia mamela ny fampiharana hamaly na dia mandritra ny enta-mavesatra na tsy fahombiazana aza.

Ao amin'ny ambaratonga cluster, misy ihany koa ny olana amin'ny fanariana. Zava-dehibe ny hoe ny milina rehetra ao amin'ny cluster dia mitovy ny entana ary ny tambajotra dia tsy be loatra. Alao sary an-tsaina ny toe-javatra iray: ny fifamoivoizana mpampiasa dia tonga amin'ny mpifandanja miditra (haproxy, nginx, sns), mizara ny fangatahana fanodinana araka izay azo atao eo anelanelan'ny andiana backend misy. Ao anatin'ny fotodrafitrasa fampiharana, ny serivisy manatanteraka ny interface ilaina dia kilaometatra farany ary mila mangataka serivisy maromaro hafa hamaly ny fangatahana voalohany. Ny fangatahan'ny anatiny koa dia mila zotra sy fifandanjana.
Mba hitantanana amin'ny fomba mahomby ny fikorianan'ny angona, ny fandefasana hafatra dia tsy maintsy manome interface tsara ho an'ny mpamorona hitantana ny lalana sy ny fifandanjana entana. Noho izany, ny mpamorona dia ho afaka, mampiasa lamina microservice (aggregator, proxy, rojo, sampana, sns), hamaha ny olana mahazatra sy ireo izay tsy dia fahita firy.

Amin'ny fomba fijery ara-barotra, ny scalability dia iray amin'ireo fitaovana fitantanana risika. Ny tena zava-dehibe dia ny hanomezana fahafaham-po ny fangatahan'ny mpanjifa amin'ny fampiasana tsara ny fitaovana:

  • Rehefa mitombo ny herin'ny fitaovana vokatry ny fandrosoana. Tsy hidonan-toerana noho ny rindrambaiko tsy tonga lafatra. Erlang dia mizana mitsangana tsara ary ho afaka hampiasa ny cores CPU rehetra sy ny fitadidiana misy;
  • Amin'ny tontolo rahona, afaka mitantana ny habetsaky ny fitaovana isika miankina amin'ny enta-mavesatra ankehitriny na vinavinaina ary miantoka ny SLA.

fandeferana fahadisoana

Andeha hodinihintsika ny axiom roa: "Tsy azo ekena ny tsy fahombiazana" ary "Hisy foana ny tsy fahombiazana." Ho an'ny orinasa iray, ny tsy fahombiazan'ny rindrambaiko dia midika famoizana vola, ary ny ratsy kokoa, fahaverezan'ny laza. Ny fifandanjana eo amin'ny mety ho fatiantoka sy ny sandan'ny fampivoarana rindrambaiko mahazaka lesoka dia matetika hita ny marimaritra iraisana.

Ao anatin'ny fotoana fohy, ny maritrano iray izay mampiditra ny fandeferana amin'ny fahadisoana dia mitahiry vola amin'ny fividianana vahaolana amin'ny clustering ivelan'ny talantalana. Lafo izy ireo ary misy bibikely koa.
Ao anatin'ny fotoana maharitra, ny maritrano mahazaka fahadisoana dia mandoa ho azy imbetsaka amin'ny dingana rehetra amin'ny fampandrosoana.
Ny fandefasana hafatra ao anatin'ny fototry ny kaody dia ahafahanao miasa amin'ny antsipiriany ny fifandraisan'ireo singa ao anatin'ny rafitra amin'ny dingana fampandrosoana. Manamora ny asa amin'ny famaliana sy fitantanana ny tsy fahombiazana izany, satria ny singa manan-danja rehetra dia miatrika ny tsy fahombiazana, ary ny rafitra aterak'izany dia mahafantatra ny fomba hiverina ho azy amin'ny ara-dalΓ na aorian'ny tsy fahombiazan'ny famolavolana.

tompon'andraikitra

Na inona na inona tsy fahombiazana, ny fampiharana dia tsy maintsy mamaly ny fangatahana ary mifanaraka amin'ny SLA. Ny zava-misy dia tsy te hiandry ny olona, ​​ka ny orinasa dia tsy maintsy mampifanaraka izany. Mihabetsaka ny fampiharana no antenaina ho tena mamaly.
Ny fampiharana mamaly dia miasa ao anatin'ny fotoana tena izy. Erlang VM dia miasa amin'ny fomba malefaka amin'ny fotoana tena izy. Ho an'ny faritra sasany, toy ny varotra tahiry, ny fanafody ary ny fanaraha-maso ny fitaovana indostrialy, dia zava-dehibe ny fomba fiasa tena izy.
Ny rafitra mandray andraikitra dia manatsara ny UX ary mahasoa ny orinasa.

Famintinana voalohany

Rehefa manomana ity lahatsoratra ity aho dia te hizara ny traikefako amin'ny famoronana broker hafatra sy fananganana rafitra sarotra mifototra amin'izany. Saingy ny ampahany amin'ny teorika sy ny antony manosika dia nanjary nivelatra be.
Ao amin'ny tapany faharoa amin'ny lahatsoratra dia hiresaka momba ny nuances amin'ny fampiharana ny teboka fifanakalozana, ny fomba fandefasana hafatra ary ny fampiharana azy ireo aho.
Ao amin'ny tapany fahatelo dia hodinihintsika ireo olana ankapoben'ny fandaminana ny serivisy, ny lalana ary ny fifandanjana. Andeha isika hiresaka momba ny lafiny azo ampiharina amin'ny scalability sy ny fandeferana ny fahadisoana ny rafitra.

Faran'ny tapany voalohany.

sary @lucabravo.

Source: www.habr.com

Add a comment