Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud
Salama, izaho no Sergey Elantsev, mivoatra aho mpifandanja entana amin'ny tambajotra ao amin'ny Yandex.Cloud. Teo aloha, nitarika ny fampandrosoana ny L7 balancer ho an'ny vavahadin-tserasera Yandex - mpiara-miasa vazivazy fa na inona na inona ataoko, dia hita fa mandanjalanja. Holazaiko amin'ny mpamaky Habr ny fomba fitantanana ny enta-mavesatra amin'ny sehatra rahona, izay hitantsika ho fitaovana mety indrindra amin'ny fanatrarana io tanjona io, ary ny fomba hizorantsika amin'ny fananganana ity fitaovana ity.

Voalohany, andeha isika hampiditra teny sasany:

  • VIP (IP virtoaly) - adiresy IP mpandrindra
  • Server, backend, ohatra - milina virtoaly mitantana fampiharana
  • RIP (Real IP) - adiresy IP mpizara
  • Healthcheck - fanamarinana ny fahavononan'ny mpizara
  • Availability Zone, AZ - fotodrafitrasa mitoka-monina ao amin'ny foibe data
  • Faritra - sendikan'ny AZ samihafa

Mamaha asa telo lehibe ny mpampandanja enta-mavesatra: izy ireo no manao ny fampifandanjana, manatsara ny fandeferana amin'ny fahadisoana amin'ny serivisy, ary manatsotra ny fampitomboana azy. Ny fandeferana diso dia azo antoka amin'ny alàlan'ny fitantanana ny fifamoivoizana mandeha ho azy: ny balancer dia manara-maso ny toetry ny fampiharana ary manilika ireo tranga tsy azo atao amin'ny fifandanjana izay tsy mandeha amin'ny fanamarinana velona. Ny scaling dia azo antoka amin'ny fizarana mitovy ny enta-mavesatra amin'ny tranga, ary koa ny fanavaozana ny lisitry ny tranga amin'ny sidina. Raha tsy mitovy ny fifandanjana, ny sasany amin'ireo tranga dia hahazo enta-mavesatra mihoatra ny fetran'ny fahafaha-manaony, ary ho lasa tsy azo ianteherana ny serivisy.

Ny mpifandanja entana dia matetika sokajian'ny sosona protocol avy amin'ny maodely OSI izay iasany. Ny Cloud Balancer dia miasa amin'ny ambaratonga TCP, izay mifanitsy amin'ny sosona fahefatra, L4.

Andao hiroso amin'ny topimaso momba ny maritrano mpandrindra Cloud. Hampitombo tsikelikely ny haavon'ny antsipiriany. Zarainay ho kilasy telo ny singa mpifandanja. Ny kilasy fiaramanidina config dia tompon'andraikitra amin'ny fifandraisan'ny mpampiasa ary mitahiry ny toetry ny rafitra. Ny fiaramanidina fanaraha-maso dia mitahiry ny toetry ny rafitra amin'izao fotoana izao ary mitantana rafitra avy amin'ny kilasin'ny fiaramanidina data, izay tompon'andraikitra mivantana amin'ny fandefasana ny fifamoivoizana avy amin'ny mpanjifa mankany amin'ny tranga misy anao.

Data fiaramanidina

Ny fifamoivoizana dia miafara amin'ny fitaovana lafo vidy antsoina hoe routers sisintany. Mba hampitomboana ny fandeferana amin'ny lesoka, fitaovana maro toy izany no miasa miaraka amin'ny foibe data iray. Manaraka, mandeha any amin'ny balancers ny fifamoivoizana, izay manambara ny adiresy IP any amin'ny AZ rehetra amin'ny alàlan'ny BGP ho an'ny mpanjifa. 

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Ampitaina amin'ny ECMP ny fifamoivoizana - tetik'ady fampitaovana izay ahafahan'ny lalana maromaro mitovy amin'izany mankany amin'ny lasibatra (amin'ny tranga misy antsika, ny lasibatra dia ny adiresy IP alehanao) ary azo alefa miaraka amin'ny iray amin'izy ireo ny fonosana. Manohana ihany koa ny asa amin'ny faritra maro azo ampiasaina araka ity rafitra manaraka ity: manao dokambarotra adiresy isaky ny faritra izahay, mankany amin'ny akaiky indrindra ny fifamoivoizana ary tsy mihoatra ny fetrany. Any aoriana any amin'ny lahatsoratra dia hojerentsika amin'ny antsipiriany ny zava-mitranga amin'ny fifamoivoizana.

Config fiaramanidina

 
Ny singa fototra amin'ny fiaramanidina config dia ny API, izay anaovana ny asa fototra miaraka amin'ny mpifandanja: mamorona, mamafa, manova ny fitambaran'ny tranga, mahazo ny valin'ny fizahana ara-pahasalamana, sns. Amin'ny lafiny iray, REST API izany, ary amin'ny Ny hafa, izahay ao amin'ny Cloud dia mampiasa matetika ny framework gRPC, noho izany dia "mandika" REST ho gRPC izahay ary avy eo mampiasa gRPC ihany. Ny fangatahana rehetra dia mitarika amin'ny famoronana andiana asa idempotent asynchronous izay tanterahina amin'ny dobo iombonan'ny mpiasa Yandex.Cloud. Ny asa dia soratana amin'ny fomba izay ahafahan'izy ireo miato amin'ny fotoana rehetra ary averina averina. Izany dia miantoka ny scalability, ny fiverimberenan'ny asa ary ny logging.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Vokatr'izany, ny asa avy amin'ny API dia hanao fangatahana amin'ny mpanara-maso ny serivisy balancer, izay voasoratra ao amin'ny Go. Afaka manampy sy manala balancers, manova ny firafitry ny backends sy ny toe-javatra. 

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Ny serivisy dia mitahiry ny toerany ao amin'ny Yandex Database, angona voatanisa voazara izay ho azonao ampiasaina tsy ho ela. Ao amin'ny Yandex.Cloud, tahaka ny efa nilaza, mihatra ny foto-kevitra momba ny sakafon'alika: raha mampiasa ny serivisinay izahay, dia ho faly koa ny mpanjifanay hampiasa azy ireo. Yandex Database dia ohatra iray amin'ny fampiharana ny hevitra toy izany. Mitahiry ny angonay rehetra ao amin'ny YDB izahay, ary tsy mila mieritreritra momba ny fikojakojana sy ny fampitomboana ny angon-drakitra izahay: voavaha ho anay ireo olana ireo, mampiasa ny angon-drakitra izahay ho serivisy.

Andao hiverina any amin'ny controller balancer. Ny asany dia ny mitahiry vaovao momba ny balancer ary mandefa asa hijerena ny fahavononan'ny milina virtoaly amin'ny fanaraha-maso ny fahasalamana.

Healthcheck controller

Mahazo fangatahana hanova ny fitsipiky ny fanamarinana izy, mitahiry azy ireo ao amin'ny YDB, mizara asa eo amin'ireo node healtcheck ary manangona ny valiny, izay voatahiry ao amin'ny angon-drakitra ary alefa any amin'ny mpanara-maso loadbalancer. Izy io kosa dia mandefa fangatahana hanovana ny firafitry ny cluster ao amin'ny fiaramanidina data mankany amin'ny loadbalancer-node, izay horesahiko etsy ambany.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Andeha isika hiresaka bebe kokoa momba ny fizahana ara-pahasalamana. Azo zaraina ho kilasy maromaro izy ireo. Ny fanamarinana dia manana fepetra fahombiazana samihafa. Ny fanamarinana TCP dia mila mametraka fifandraisana am-pahombiazana ao anatin'ny fotoana voafetra. Ny fisavana HTTP dia mitaky fifandraisana mahomby sy valiny miaraka amin'ny fehezan-dalàna 200.

Ary koa, ny fisavana dia tsy mitovy amin'ny kilasin'ny hetsika - mavitrika sy mandalo izy ireo. Manara-maso fotsiny ny zava-mitranga amin'ny fifamoivoizana ny fanaraha-maso passive nefa tsy misy hetsika manokana. Tsy mandeha tsara amin'ny L4 izany satria miankina amin'ny lojikan'ny protocols avo lenta izany: amin'ny L4 dia tsy misy fampahalalana momba ny faharetan'ny fandidiana na na tsara na ratsy ny fahavitan'ny fifandraisana. Ny fanaraha-maso mavitrika dia mitaky ny mpandrindra handefa fangatahana amin'ny ohatra mpizara tsirairay.

Ny ankamaroan'ny mpifandanja entana dia manao ny fanaraha-maso ny fiainana. Tao amin'ny Cloud, nanapa-kevitra ny hanasaraka ireo ampahany amin'ny rafitra ireo izahay mba hampitombo ny fahafaha-manao. Ity fomba fiasa ity dia ahafahantsika mampitombo ny isan'ny mpifandanja nefa mitazona ny isan'ny fangatahana fitiliana ara-pahasalamana amin'ny serivisy. Ny fisavana dia tanterahana amin'ny alalan'ny node fitsirihana ara-pahasalamana misaraka, izay ahitana ny lasibatra fisavana nozaraina sy averina. Tsy afaka manao fisavana amin'ny mpampiantrano iray ianao, satria mety tsy hahomby izany. Dia tsy ho azontsika ny toetry ny tranga nojereny. Manao fanamarinana ny iray amin'ireo tranga avy amin'ny node fitsirihana ara-pahasalamana telo farafahakeliny izahay. Mizara ny tanjon'ny fisavana eo anelanelan'ny nodes izahay amin'ny alàlan'ny algorithm hashing tsy miovaova.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Mety hiteraka olana ny fampisarahana ny fifandanjana sy ny fanaraha-maso ara-pahasalamana. Raha manao fangatahana amin'ny ohatra ny node healthcheck, mandalo ny balancer (izay tsy miasa amin'izao fotoana izao), dia mitranga ny toe-javatra hafahafa: toa velona ny loharano, saingy tsy tonga any aminy ny fifamoivoizana. Mamaha ity olana ity amin'ny fomba toy izao izahay: azo antoka fa hanomboka ny fifamoivoizana ara-pahasalamana amin'ny alàlan'ny balancers. Raha lazaina amin'ny teny hafa, ny tetika amin'ny famindrana fonosana miaraka amin'ny fifamoivoizana avy amin'ny mpanjifa sy avy amin'ny fitsirihana ara-pahasalamana dia tsy mitovy: amin'ireo tranga roa ireo, ny fonosana dia ho tonga any amin'ny mpifandanja, izay hanatitra azy ireo any amin'ny loharanon-karena kendrena.

Ny mahasamihafa azy dia ny mpanjifa dia manao fangatahana amin'ny VIP, raha ny fizahana ara-pahasalamana kosa dia manao fangatahana amin'ny RIP tsirairay. Mipoitra ny olana mahaliana eto: omenay fahafahana ireo mpampiasa anay hamorona loharanon-karena amin'ny tambajotra IP maitso. Alao sary an-tsaina fa misy tompona rahona roa samy hafa nanafina ny serivisiny tao ambadiky ny balancers. Ny tsirairay amin'izy ireo dia manana loharano ao amin'ny subnet 10.0.0.1/24, miaraka amin'ny adiresy mitovy. Mila mahay manavaka azy ireo ianao, ary eto dia mila miditra ao amin'ny rafitry ny tambajotra virtoaly Yandex.Cloud ianao. Tsara kokoa ny mahita antsipiriany bebe kokoa ao horonan-tsary avy amin'ny: hetsika rahona, zava-dehibe ho antsika amin'izao fotoana izao fa ny tambajotra dia maro sosona ary manana tonelina izay azo avahana amin'ny subnet id.

Healthcheck nodes mifandray amin'ny balancers mampiasa ny antsoina hoe quasi-IPv6 adiresy. Ny adiresy quasi dia adiresy IPv6 misy adiresy IPv4 sy id subnet mpampiasa tafiditra ao anatiny. Tonga any amin'ny balancer ny fifamoivoizana, izay manala ny adiresy loharano IPv4 avy ao, manolo ny IPv6 amin'ny IPv4 ary mandefa ny fonosana amin'ny tambajotran'ny mpampiasa.

Toy izany koa ny fandehan'ny fifamoivoizana mivadika: hitan'ny mpifandanja fa tambazotra volondavenona avy amin'ny mpitsikilo ara-pahasalamana no alehany, ary mamadika IPv4 ho IPv6.

VPP - ny fon'ny angon-drakitra fiaramanidina

Ny balancer dia ampiharina amin'ny alàlan'ny teknolojia Vector Packet Processing (VPP), rafitra avy amin'ny Cisco ho an'ny fanodinana batch ny fifamoivoizana amin'ny tambajotra. Amin'ity tranga ity, ny rafitra dia miasa eo an-tampon'ny tranombokin'ny fitantanam-pitantanan'ny tambazotran'ny mpampiasa - Data Plane Development Kit (DPDK). Izany dia miantoka ny fahombiazan'ny fanodinana fonosana: vitsy kokoa ny fahatapahana mitranga ao amin'ny kernel, ary tsy misy fifandimbiasana eo anelanelan'ny habaka kernel sy ny habaka mpampiasa. 

Mandeha lavitra kokoa ny VPP ary manindry fampisehoana bebe kokoa amin'ny rafitra amin'ny fampifangaroana fonosana ho andiany. Ny tombony amin'ny fampisehoana dia avy amin'ny fampiasana mahery vaika ny cache amin'ny processeur maoderina. Samy ampiasaina ny cache data (ny fonosana dia voahodina amin'ny "vectors", mifanakaiky ny angon-drakitra) ary ny cache fampianarana: ao amin'ny VPP, ny fanodinana packet dia manaraka ny grafika, ny node misy ny asa izay manao asa mitovy.

Ohatra, ny fanodinana ny fonosana IP ao amin'ny VPP dia mitranga amin'ny filaharana manaraka: voalohany, ny lohatenin'ny packet dia voasokajy ao amin'ny node parsing, ary avy eo dia alefa any amin'ny node izy ireo, izay mamindra ny fonosana bebe kokoa araka ny tabilao routing.

Hardcore kely. Ny mpanoratra ny VPP dia tsy milefitra amin'ny marimaritra iraisana amin'ny fampiasana cache processeur, noho izany ny code mahazatra amin'ny fanodinana ny vector ny packet dia misy vectorization amin'ny tanana: misy loopina fanodinana izay misy toe-javatra toy ny hoe "manana fonosana efatra ao anaty filaharana izahay", dia mitovy amin'ny roa, avy eo - ho an'ny iray. Ny toromarika mialoha dia matetika ampiasaina hampidirana angona ao anaty cache mba hanafainganana ny fidirana amin'izy ireo amin'ny famerimberenana manaraka.

n_left_from = frame->n_vectors;
while (n_left_from > 0)
{
    vlib_get_next_frame (vm, node, next_index, to_next, n_left_to_next);
    // ...
    while (n_left_from >= 4 && n_left_to_next >= 2)
    {
        // processing multiple packets at once
        u32 next0 = SAMPLE_NEXT_INTERFACE_OUTPUT;
        u32 next1 = SAMPLE_NEXT_INTERFACE_OUTPUT;
        // ...
        /* Prefetch next iteration. */
        {
            vlib_buffer_t *p2, *p3;

            p2 = vlib_get_buffer (vm, from[2]);
            p3 = vlib_get_buffer (vm, from[3]);

            vlib_prefetch_buffer_header (p2, LOAD);
            vlib_prefetch_buffer_header (p3, LOAD);

            CLIB_PREFETCH (p2->data, CLIB_CACHE_LINE_BYTES, STORE);
            CLIB_PREFETCH (p3->data, CLIB_CACHE_LINE_BYTES, STORE);
        }
        // actually process data
        /* verify speculative enqueues, maybe switch current next frame */
        vlib_validate_buffer_enqueue_x2 (vm, node, next_index,
                to_next, n_left_to_next,
                bi0, bi1, next0, next1);
    }

    while (n_left_from > 0 && n_left_to_next > 0)
    {
        // processing packets by one
    }

    // processed batch
    vlib_put_next_frame (vm, node, next_index, n_left_to_next);
}

Noho izany, miresaka momba ny IPv6 amin'ny VPP ny Healthchecks, izay mamadika azy ireo ho IPv4. Izany dia atao amin'ny alalan'ny node ao amin'ny grafika, izay antsoinay algorithmic NAT. Ho an'ny fifamoivoizana mivadika (sy ny fiovam-po avy amin'ny IPv6 mankany IPv4) dia misy ny algorithmic NAT node.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Ny fifamoivoizana mivantana avy amin'ny mpanjifa mpifandanja dia mandalo amin'ny grafofaonina, izay manatanteraka ny fifandanjana. 

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Ny node voalohany dia session miraikitra. Mitahiry ny hash ny 5-tuple ho an'ny fivoriana naorina. Ny 5-tuple dia ahitana ny adiresy sy ny seranan-tsambon'ny mpanjifa izay nampitaina ny vaovao, ny adiresy sy ny seranan-tsambo azo alaina handraisana fifamoivoizana, ary koa ny protocole tambajotra. 

Ny hash 5-tuple dia manampy antsika hanao kajy kely kokoa amin'ny node hashing tsy miova manaraka, ary koa ny fanovana lisitry ny loharanon-karena ao ambadiky ny balancer. Rehefa tonga any amin'ny balancer ny fonosana izay tsy misy session dia alefa any amin'ny node hashing tsy miovaova. Eto no misy ny fifandanjana amin'ny fampiasana hashing tsy tapaka: mifidy loharano iray avy amin'ny lisitry ny loharanon-karena “mivantana” misy. Avy eo, alefa any amin'ny NAT node ny fonosana, izay manolo ny adiresy alehanao ary mamerina ny checksums. Araka ny hitanao dia manaraka ny fitsipiky ny VPP izahay - tia tia, manangana kajy mitovy mba hampitombo ny fahombiazan'ny cache processeur.

Hashing tsy miovaova

Nahoana isika no nifidy azy io ary inona izany? Voalohany, andeha hojerentsika ny asa teo aloha - ny fisafidianana loharano avy amin'ny lisitra. 

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Miaraka amin'ny hashing tsy mifanaraka, kajy ny hash amin'ny fonosana ho avy, ary ny loharano iray dia voafantina avy amin'ny lisitra amin'ny alàlan'ny fizarana ity hash ity amin'ny isan'ny loharano. Raha mbola tsy miova ny lisitra, dia mandeha tsara ity tetika ity: mandefa fonosana miaraka amin'ny 5-tuple mitovy amin'ny ohatra iray ihany izahay. Raha toa, ohatra, ny loharanon-karena sasany nijanona tsy namaly ny fizahana ara-pahasalamana, dia ho an'ny ampahany manan-danja amin'ny hash dia hiova ny safidy. Ny fifandraisan'ny TCP an'ny mpanjifa dia ho tapaka: fonosana iray izay tonga teo aloha tamin'ny ohatra A dia mety manomboka tonga any amin'ny ohatra B, izay tsy mahazatra ny fivoriana ho an'ity fonosana ity.

Ny hashing tsy miovaova dia mamaha ilay olana voalaza. Ny fomba tsotra indrindra hanazavana an'io hevitra io dia izao: alaivo sary an-tsaina hoe manana peratra ianao hizaranao loharano amin'ny alàlan'ny hash (ohatra, amin'ny IP: port). Ny fisafidianana loharano dia manodina ny kodiarana amin'ny zoro, izay faritana amin'ny hash amin'ny fonosana.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Manamaivana ny fitsinjarana ny fifamoivoizana izany rehefa miova ny fitambaran'ny loharanon-karena. Ny famafana loharano iray dia tsy hisy fiantraikany amin'ny ampahany amin'ny peratra hashing tsy miova izay nisy ilay loharano. Manova ny fitsinjarana ihany koa ny fampidirana loharano iray, saingy manana node sessions miraikitra isika, izay mamela antsika tsy hanova ireo session efa napetraka ho loharano vaovao.

Nijery izay mitranga amin'ny fifamoivoizan'ny fifandanjana sy ny loharanon-karena izahay. Andeha hojerentsika ny fifamoivoizana miverina. Manaraka ny lamina mitovy amin'ny fifamoivoizana fanamarinana - amin'ny alàlan'ny NAT algorithmic, izany hoe amin'ny alàlan'ny NAT 44 mivadika ho an'ny fifamoivoizana mpanjifa ary amin'ny alàlan'ny NAT 46 ho an'ny fifamoivoizana ara-pahasalamana. Manaraka ny tetikay manokana izahay: mampiray ny fifamoivoizana amin'ny fanaraha-maso ara-pahasalamana sy ny fifamoivoizana tena izy.

Loadbalancer-node sy ny singa nivory

Ny firafitry ny mpifandanja sy loharano ao amin'ny VPP dia taterin'ny serivisy eo an-toerana - loadbalancer-node. Izy io dia misoratra anarana amin'ny fizotran'ny hetsika avy amin'ny loadbalancer-controller ary afaka mamolavola ny fahasamihafana misy eo amin'ny fanjakana VPP ankehitriny sy ny fanjakana kendrena azo avy amin'ny mpanara-maso. Mahazo rafitra mihidy izahay: ny hetsika avy amin'ny API dia tonga any amin'ny mpandrindra mpandrindra, izay manome asa ho an'ny mpanara-maso ara-pahasalamana hanamarina ny "fahaveloman'ny" loharanon-karena. Izany, ho setrin'izany, dia manome asa ho an'ny healthcheck-node ary manambatra ny valiny, ary avy eo dia mamerina azy ireo any amin'ny mpanara-maso balancer. Loadbalancer-node dia misoratra anarana amin'ny hetsika avy amin'ny mpanara-maso ary manova ny toetry ny VPP. Amin'ny rafitra toy izany, ny serivisy tsirairay dia tsy mahalala afa-tsy izay ilaina amin'ny serivisy manodidina. Voafetra ny isan'ny fifandraisana ary manana fahafahana miasa sy manenjana fizarana samihafa tsy miankina izahay.

Architecture ny mpanelanelana enta-mavesatra ao amin'ny Yandex.Cloud

Inona no olana nosorohana?

Ny serivisy rehetra ao amin'ny fiaramanidina fanaraha-maso dia voasoratra ao amin'ny Go ary manana toetra tsara sy azo itokisana. Go dia manana tranomboky misokatra maro ho an'ny fananganana rafitra zaraina. Mazoto mampiasa GRPC izahay, ny singa rehetra dia misy fampiharana misokatra amin'ny fitadiavana serivisy - ny serivisy dia manara-maso ny fahombiazan'ny tsirairay, afaka manova ny firafiny amin'ny fomba mavitrika, ary mampifandray izany amin'ny fifandanjana GRPC izahay. Ho an'ny metrika dia mampiasa vahaolana loharano misokatra ihany koa izahay. Ao amin'ny fiaramanidina data, nahazo fampisehoana mendrika sy tahiry loharanon-karena lehibe izahay: sarotra be ny manangona toerana ahafahantsika miantehitra amin'ny fahombiazan'ny VPP, fa tsy karatra tambajotra vy.

Olana sy vahaolana

Inona no tsy nandeha tsara? Ny Go dia manana fitantanana fitadidiana mandeha ho azy, saingy mbola mitranga ny fitetezana fahatsiarovana. Ny fomba tsotra indrindra hiatrehana azy ireo dia ny fampandehanana goroutine ary tadidio ny hamarana azy ireo. Takeaway: Jereo ny fanjifana fahatsiarovana ny programa Go. Matetika ny famantarana tsara dia ny isan'ny goroutine. Misy tombony amin'ity tantara ity: ao amin'ny Go dia mora ny mahazo angon-drakitra momba ny fotoana fandehanana - ny fanjifana fahatsiarovana, ny isan'ny goroutine mandeha, ary ny masontsivana maro hafa.

Ary koa, ny Go dia mety tsy safidy tsara indrindra amin'ny fitsapana miasa. Tena verbose izy ireo, ary ny fomba fiasa mahazatra amin'ny "fampandehanana ny zava-drehetra ao amin'ny CI ao anaty batch" dia tsy mety amin'izy ireo. Ny zava-misy dia mitaky loharanon-karena kokoa ny fitsapana miasa ary miteraka fotoana tena izy. Noho izany, mety tsy hahomby ny fitsapana satria sahirana amin'ny fitsapana unit ny CPU. Fehiny: Raha azo atao dia manaova fitsapana "mavesatra" misaraka amin'ny fitsapana unit. 

Ny maritrano hetsika microservice dia sarotra kokoa noho ny monolith: tsy dia mety loatra ny fanangonana logs amin'ny milina maro samihafa. Fehiny: raha manao microservice ianao dia eritrereto avy hatrany ny tracing.

Ny drafitray

Hanokatra balancer anatiny izahay, mpifandanja IPv6, manampy fanohanana ny script Kubernetes, manohy mizara ny serivisinay (amin'izao fotoana izao dia tsy misy afa-tsy healthcheck-node sy healthcheck-ctrl), ampio fanaraha-maso ara-pahasalamana vaovao, ary hampihatra koa ny fitambaran'ny fisavana. Eo am-pandinihana ny mety hahatonga ny serivisy ho mahaleo tena kokoa izahay - mba tsy hifandraisany mivantana, fa amin'ny fampiasana filaharana hafatra. Nisy serivisy mifanaraka amin'ny SQS niseho vao haingana tao amin'ny Cloud Filaharana hafatra Yandex.

Vao haingana no nisy ny famoahana ampahibemaso ny Yandex Load Balancer. hijery tahirin-kevitra amin'ny serivisy, mitantana mpifandanja amin'ny fomba mety aminao ary ampitomboy ny fandeferana amin'ny tetikasanao!

Source: www.habr.com

Add a comment