Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritranoLOST avy amin'ny sophiagworld

Ity lahatsoratra ity dia misy lamina mahazatra sasany hanampiana ny injeniera hiasa amin'ny serivisy midadasika azon'ny mpampiasa an-tapitrisany. 

Raha ny traikefan'ny mpanoratra dia tsy lisitra feno io, fa tena marina mahomby toro-hevitra. Noho izany, andao hanomboka.

Nadika miaraka amin'ny fanohanana Mail.ru Cloud Solutions.

Ambaratonga voalohany

Ireo fepetra voatanisa etsy ambany dia somary tsotra ny fampiharana saingy misy fiantraikany lehibe. Raha mbola tsy nanandrana azy ireo ianao, dia ho gaga amin'ny fanatsarana lehibe.

Fotodrafitrasa toy ny code

Ny ampahany voalohany amin'ny torohevitra dia ny fampiharana ny fotodrafitrasa ho code. Midika izany fa tsy maintsy manana fomba programmatika ianao amin'ny fametrahana ny fotodrafitrasa manontolo. Toa sarotra izany, saingy ity kaody manaraka ity no resahinay:

Fametrahana milina virtoaly 100

  • miaraka amin'ny Ubuntu
  • 2 GB RAM ny tsirairay
  • hanana ny kaody manaraka izy ireo
  • miaraka amin'ireo masontsivana ireo

Azonao atao ny manara-maso ny fiovan'ny fotodrafitrasao ary miverina haingana amin'izy ireo amin'ny alΓ lan'ny fanaraha-maso ny dikan-teny.

Ny modernista ato amiko dia milaza fa azonao atao ny mampiasa Kubernetes/Docker hanaovana ireo rehetra voalaza etsy ambony ireo, ary marina ny azy.

Ankoatr'izay, azonao atao ny manome automatique amin'ny fampiasana Chef, Puppet na Terraform.

Fampidirana sy fanaterana mitohy

Mba hamoronana serivisy azo esorina dia zava-dehibe ny manana fantsona fananganana sy fitsapana ho an'ny fangatahana fisarihana tsirairay. Na dia tena tsotra aza ny fitsapana, dia farafaharatsiny azo antoka fa ny kaody apetrakao dia manangona.

Isaky ny amin'ity dingana ity dia mamaly ny fanontaniana ianao: hanangona sy handalo fitsapana ve ny fivoriambeko, manan-kery ve izany? Mety ho toy ny bar ambany izany, saingy mamaha olana maro.

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Tsy misy zavatra tsara kokoa noho ny mahita ireo kΓ΄kΓ΄la ireo

Ho an'ity teknolojia ity dia azonao atao ny manombana ny Github, CircleCI na Jenkins.

Load Balancers

Noho izany, tianay ny hampifandanja ny entana mba hamerenana ny fifamoivoizana ary hiantohana ny enta-mavesatra mitovy amin'ny node rehetra na mitohy ny serivisy raha sendra tsy fahombiazana:

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Ny mpandrindra entana matetika dia manao asa tsara amin'ny fizarana fifamoivoizana. Ny fomba fanao tsara indrindra dia ny mampifandanja tsara mba tsy hisy na dia iray aza tsy fahombiazana.

Amin'ny ankapobeny, ny mpandrindra entana dia amboarina ao amin'ny rahona ampiasainao.

RayID, ID mifandraika na UUID ho an'ny fangatahana

Efa sendra olana amin'ny fampiharana misy hafatra toy izao ve ianao: "Nisy zavatra tsy nety. Tehirizo ity ID ity ary alefaso any amin'ny ekipa mpanohana anay"?

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Famantarana tokana, ID mifandray, RayID, na izay mety ho fiovaovana, dia famantarana tokana ahafahanao manara-maso fangatahana mandritra ny androm-piainany. Izany dia ahafahanao manara-maso ny lalana fangatahana manontolo ao amin'ny diary.

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Ny mpampiasa dia manao fangatahana amin'ny rafitra A, avy eo A mifandray amin'ny B, izay mifandray amin'ny C, mitahiry izany ao amin'ny X ary avy eo ny fangatahana dia averina amin'ny A

Raha toa ianao ka mifandray lavitra amin'ny milina virtoaly ary manandrana manara-maso ny lalana fangatahana (ary mampifandray amin'ny tanana izay antso atao), dia ho lasa adala ianao. Manamora ny fiainana ny fananana famantarana tokana. Io no iray amin'ireo zavatra tsotra indrindra azonao atao mba hitsitsiana fotoana rehefa mitombo ny serivisy.

Sehatra eo anelanelan'ny

Ny torohevitra eto dia sarotra kokoa noho ny teo aloha, fa ny fitaovana mety dia manamora ny asa, manome fiverenana amin'ny fampiasam-bola na dia ho an'ny orinasa madinika sy salantsalany aza.

Centralized logging

Arahabaina! Nametraka milina virtoaly 100 ianao. Ny ampitson'iny, tonga ny tale jeneraly ary nitaraina momba ny fahadisoana azony nandritra ny fitsapana ny serivisy. Mitatitra ny ID mifanaraka amin'izany noresahinay teo ambony izany ianao, saingy mila mijery ny diarin'ny milina 100 ianao mba hahitana izay nahatonga ny fianjerana. Ary mila hita mialoha ny famelabelarana rahampitso.

Na dia toa toy ny fitsangatsanganana mahafinaritra aza izany, dia tsara raha azonao antoka fa manana fahafahana hikaroka ny gazety rehetra amin'ny toerana iray ianao. Namaha ny olan'ny fametrahana logs amin'ny alΓ lan'ny fampandehanana naorina ao amin'ny stack ELK aho: manohana ny fanangonana logs azo jerena. Tena hanampy amin'ny famahana ny olana amin'ny fitadiavana diary manokana izany. Amin'ny maha-bonus anao dia afaka mamorona tabilao sy zavatra mahafinaritra hafa toy izany ianao.

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Fampiasana ELK stack

Mpiandraikitra mpanara-maso

Amin'izao fotoana izao dia mandeha sy mandeha ny serivisyo, mila miantoka ianao fa mandeha tsara. Ny fomba tsara indrindra hanaovana izany dia ny mihazakazaka maromaro mpiasa, izay miasa mifanandrify ary manamarina fa miasa izy ary vita ny asa fototra.

Amin'izao fotoana izao dia manamarina izany ianao ny rafitra mihazakazaka dia mahatsapa tsara ary miasa tsara.

Ho an'ny tetikasa madinika ka hatramin'ny antonony, manoro hevitra ny Postman aho amin'ny fanaraha-maso sy fandraketana API. Saingy amin'ny ankapobeny, te-hahazo antoka ianao fa manana fomba ahafantarana hoe rahoviana no nitranga ny fahatapahana ary hampahafantarina ara-potoana.

Autoscaling arakaraka ny entana

Tena tsotra. Raha manana fangatahana serivisy VM ianao ary manakaiky ny 80% ny fampiasana fahatsiarovana, dia azonao atao ny mampitombo ny loharanony na manampy VM bebe kokoa amin'ny cluster. Ny fanatanterahana mandeha ho azy ireo asa ireo dia tena tsara ho an'ny fiovan'ny hery elastika eo ambanin'ny enta-mavesatra. Tokony hitandrina foana anefa ianao hoe ohatrinona ny vola laninao ary mametra ny fetra mety.

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Miaraka amin'ny ankamaroan'ny serivisy rahona, azonao atao ny manitsy azy io amin'ny autoscale amin'ny fampiasana mpizara bebe kokoa na mpizara matanjaka kokoa.

Rafitra andrana

Ny fomba tsara hamoahana fanavaozana azo antoka dia ny fahafahana manandrana zavatra ho an'ny 1% amin'ny mpampiasa mandritra ny adiny iray. Mazava ho azy fa efa nahita fomba fiasa toy izany ianao. Ohatra, ny Facebook dia mampiseho loko hafa ny ampahany amin'ny mpihaino na manova ny haben'ny endri-tsoratra mba hahitana ny fomba fijerin'ny mpampiasa ny fiovana. Ity dia antsoina hoe fitsapana A/B.

Na ny famoahana endri-javatra vaovao aza dia azo atomboka ho fanandramana ary avy eo hamaritana ny fomba hamoahana azy. Azonao atao ihany koa ny "mahatsiaro" na manova ny fanamafisana amin'ny lalitra mifototra amin'ny fiasa izay miteraka fahasimbana amin'ny serivisy.

Avo lenta

Ireto misy torohevitra tena sarotra ny mampihatra. Mety mila loharanon-karena bebe kokoa ianao, ka ny orinasa madinika na salantsalany dia ho sahirana amin'ny fitantanana izany.

Fametrahana manga-maitso

Izany no antsoiko hoe "Erlang" fomba famoahana. Nanjary nampiasaina be i Erlang rehefa nipoitra ireo orinasan-telefaona. Nanomboka nampiasaina ny Softswitch mba handefasana antso an-telefaona. Ny tena tanjon'ny rindrambaiko amin'ireo switch ireo dia ny tsy hanajanona ny antso mandritra ny fanavaozana ny rafitra. Erlang dia manana fomba tsara hampidirana mΓ΄dely vaovao nefa tsy mamely ny teo aloha.

Ity dingana ity dia miankina amin'ny fisian'ny mpifandanja entana. Alao sary an-tsaina hoe manana dikan-teny N amin'ny rindrambaiko ianao, ary te-hametraka ny dikan-n+1 ianao. 

ianao afaka nataontsika ajanony fotsiny ny serivisy ary amboary ny kinova manaraka amin'ny fotoana mety ho an'ny mpampiasa anao ary mahazo fotoana fitsaharana. Fa eritrereto hoe manana ianao tena fepetra henjana SLA. Noho izany, ny SLA 99,99% dia midika fa afaka mandeha an-tserasera ianao ihany 52 minitra isan-taona.

Raha tena te hanatratra tondro toy izany ianao dia mila fametrahana roa miaraka: 

  • ilay misy ankehitriny (N);
  • dika manaraka (N+1). 

Lazainao amin'ny mpandrindra entana mba hamindra ny isan-jaton'ny fifamoivoizana mankany amin'ny kinova vaovao (N+1) raha toa ianao ka manara-maso mavitrika ny fiverenana.

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Eto isika dia manana fametrahana N maitso izay miasa tsara. Miezaka ny hifindra amin'ny kinova manaraka amin'ity fametrahana ity izahay

Voalohany dia mandefa fitsapana tena kely izahay hahitana raha mandeha amin'ny fifamoivoizana kely ny fandefasana N+1 anay:

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Farany, manana andiana fisavana mandeha ho azy izahay izay ataonay amin'ny farany mandra-pahavitan'ny fametrahanay. Raha ianao tena tena mitandrema, azonao atao koa ny mitahiry ny N deployment anao mandrakizay mba hamerenana haingana raha sendra misy fihemorana ratsy:

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Raha te ho any amin'ny ambaratonga ambony kokoa ianao dia avelao mandeha ho azy ny zavatra rehetra ao amin'ny fametrahana manga-maitso.

Famantarana ny anomaly sy fanalefahana mandeha ho azy

Satria manana logging centralisΓ©e sy fanangonana logs tsara ianao dia efa afaka mametraka tanjona ambony kokoa. Ohatra, maminavina mialoha ny tsy fahombiazana. Ny asa dia arahana amin'ny mpanara-maso sy amin'ny logs ary misy diagrama isan-karazany - ary azonao atao ny maminavina mialoha izay mety hitranga:

Ahoana no hatoriana tsara rehefa manana serivisy rahona: toro-hevitra fototra momba ny maritrano
Raha vao hita ny anomalies dia manomboka mandinika ny sasany amin'ireo famantarana omen'ny serivisy ianao. Ohatra, ny spike amin'ny enta-mavesatra CPU dia mety manondro fa ny kapila mafy dia tsy mahomby, raha ny spike amin'ny fangatahana dia mety manondro fa mila miakatra ianao. Ity karazana data statistika ity dia ahafahanao manao ny serivisy ho mavitrika.

Miaraka amin'ireo hevi-baovao ireo, azonao atao ny manenjana amin'ny refy rehetra ary manova ny toetran'ny milina, ny angon-drakitra, ny fifandraisana ary ny loharano hafa.

Izay ihany!

Ity lisitry ny laharam-pahamehana ity dia hamonjy anao olana maro raha manangana serivisy rahona ianao.

Ny mpanoratra ny lahatsoratra tany am-boalohany dia manasa ny mpamaky hamela ny heviny sy hanova. Ny lahatsoratra dia nozaraina ho loharano misokatra, misintona fangatahana avy amin'ny mpanoratra manaiky ao amin'ny Github.

Inona koa no vakiana momba ny lohahevitra:

  1. Mandehana ary CPU cache
  2. Kubernetes amin'ny fanahin'ny piraty miaraka amin'ny maodely ho an'ny fampiharana
  3. Ny fantsonay Manodidina ny Kubernetes ao amin'ny Telegram

Source: www.habr.com

Add a comment