Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2

Nóta. aistrigh.: Leanann an t-alt seo sraith mhór alt ó shoiscéalaí teicneolaíochta AWS Adrian Hornsby, a leagann amach a mhíniú ar bhealach simplí agus soiléir an tábhacht a bhaineann le turgnamh chun iarmhairtí teipeanna i gcórais TF a mhaolú.

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2

“Má theipeann ort plean a ullmhú, tá sé beartaithe agat go dteipfidh ort.” - Benjamin Franklin

В an chéad chuid Sa tsraith alt seo, thug mé isteach coincheap na hinnealtóireachta chaos agus mhínigh mé conas a chabhraíonn sé le lochtanna sa chóras a aimsiú agus a shocrú sula dtagann teipeanna táirgeachta orthu. Phléigh sé freisin conas a chuireann innealtóireacht chaos athrú cultúrtha dearfach chun cinn laistigh d’eagraíochtaí.

Ag deireadh na chéad pháirte, gheall mé labhairt faoi “uirlisí agus modhanna chun teipeanna a thabhairt isteach i gcórais.” Faraoir, bhí a chuid pleananna féin ag mo cheann maidir leis seo, agus san Airteagal seo déanfaidh mé iarracht an cheist is coitianta a fhreagairt i measc daoine ar mian leo dul i mbun innealtóireacht chaos: Cad a bhriseadh ar dtús?

Ceist iontach! Mar sin féin, ní cosúil go bhfuil an panda seo ag cur isteach air go háirithe ...

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
Ná praiseach leis an panda chaos!

Freagra gairid: Dírigh ar sheirbhísí ríthábhachtacha feadh chonair an iarratais.

Freagra níos faide ach níos soiléire: Chun tuiscint a fháil ar an áit ar féidir leat triail a bhaint as anord, tabhair aird ar thrí réimse:

  1. Féach ar stair tuairteála agus patrúin a aithint;
  2. Déan cinneadh ar spleáchais chriticiúla;
  3. Bain úsáid as mar a thugtar air éifeacht ró-mhuinín.

Tá sé greannmhar, ach d'fhéadfaí an chuid seo a ghlaoch chomh héasca céanna "Turas go Féinfhionnachtain agus Splanc". In sé cuirfimid tús le “seinm” le roinnt uirlisí fionnuara.

1. Tá an freagra san am atá caite

Más cuimhin leat, sa chéad chuid thug mé isteach an coincheap Ceartú Earráidí (COE) - modh trína ndéanaimid anailís ar ár gcuid botúin - botúin sa teicneolaíocht, sa phróiseas nó san eagraíocht - chun a gcúis(eanna) a thuiscint agus a chosc. atarlú sa todhchaí . Go ginearálta, is é seo an áit ar chóir duit tosú.

“Chun an t-am i láthair a thuiscint, ní mór duit a bheith ar an eolas faoin am atá caite.” — Carl Sagan

Breathnaigh ar stair na dteipeanna, clibeáil in COE nó iarbháis iad agus rangaigh iad. Sainaithin patrúin choitianta a mbíonn fadhbanna mar thoradh orthu go minic, agus cuir an cheist seo a leanas ort féin i gcás gach COE:

“An bhféadfaí é seo a thuar agus a chosc mar sin trí locht a instealladh?”

Is cuimhin liom teip amháin go luath i mo ghairm bheatha. D’fhéadfaí é a chosc go héasca dá mbeadh cúpla turgnaimh chaos simplí déanta againn:

Faoi ghnáthchoinníollacha, freagraíonn cásanna backend seiceálacha sláinte ó cothromóir ualaigh (ELB)). Úsáideann BOL na seiceálacha seo chun iarratais a atreorú chuig cásanna sláintiúla. Nuair a tharlaíonn sé go bhfuil cás “míshláintiúil”, stopann BOL ag cur iarratais chuige. Lá amháin, tar éis feachtas margaíochta rathúil, mhéadaigh an méid tráchta agus thosaigh na haiséil ag freagairt do sheiceálacha sláinte níos moille ná mar is gnách. Ba chóir a rá go raibh na seiceálacha sláinte seo domhain, is é sin, rinneadh seiceáil ar staid na spleáchais.

Mar sin féin, bhí gach rud go breá ar feadh tamaill.

Ansin, cheana féin faoi choinníollacha struis, thosaigh ceann de na cásanna ag déanamh tasc neamhchriticiúil, rialta cron ETL. Bhrúigh an meascán de thrácht ard agus cronjob úsáid LAP go beagnach 100%. Chuir ró-ualach CPU moill bhreise ar fhreagraí ar sheiceálacha sláinte, chomh mór sin gur chinn an BOL go raibh fadhbanna feidhmíochta ag an gcás. De réir mar a bhíothas ag súil leis, stop an cothromóir ag dáileadh tráchta air, rud a d'eascair méadú ar an ualach ar na cásanna a bhí fágtha sa ghrúpa.

Go tobann, thosaigh gach cás eile ag teip ar an seiceáil sláinte.

Chun tús a chur le cás nua bhí gá le pacáistí a íoslódáil agus a shuiteáil agus thóg sé i bhfad níos faide ná mar a thóg sé ar an BOL iad a dhíchumasú - ceann ar cheann - sa ghrúpa uathscálaithe. Tá sé soiléir go luath gur shroich an próiseas iomlán pointe ríthábhachtach agus an t-iarratas crashed.

Ansin thuig muid go deo na pointí seo a leanas:

  • Tógann sé go leor ama bogearraí a shuiteáil nuair a bhíonn cás nua á chruthú; AMI órga.
  • I gcásanna deacra, ba chóir go dtabharfaí tús áite do fhreagairtí ar sheiceálacha sláinte agus BOL - is é an rud deireanach atá uait ná an saol casta a dhéanamh do na cásanna eile.
  • Cuidíonn caching áitiúil seiceálacha sláinte go leor (fiú ar feadh cúpla soicind).
  • I gcás deacair, ná reáchtáil tascanna cron agus próisis neamhchriticiúil eile - sábháil acmhainní do na tascanna is tábhachtaí.
  • Agus uathscálú á dhéanamh agat, bain úsáid as cásanna níos lú. Is fearr grúpa 10 n-eiseamal bheaga ná grúpa de 4 cinn mhóra; má theipeann ar chás amháin, sa chéad chás déanfar 10% den trácht a dháileadh thar 9 bpointe, sa dara - 25% den trácht thar thrí phointe.

Mar sin, an bhféadfaí é seo a thuar, agus dá bhrí sin cosc ​​a chur air tríd an bhfadhb a thabhairt isteach?

, agus ar bhealaí éagsúla.

Gcéad dul síos, trí úsáid ard LAP a insamhlú ag baint úsáide as uirlisí ar nós stress-ngcpuburn:

❯ stress-ng --matrix 1 -t 60s

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
strus-ng

Ar an dara dul síos, trí ró-ualú a dhéanamh ar an gcás le wrk agus fóntais eile dá samhail:

❯ wrk -t12 -c400 -d20s http://127.0.0.1/api/health

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2

Tá na turgnaimh sách simplí, ach féadann siad bia maith a sholáthar le haghaidh machnaimh gan a bheith ag dul tríd an strus a bhaineann le teip cheart.

Ach ná stad ansin. Déan iarracht an timpiste a atáirgeadh i dtimpeallacht tástála agus seiceáil do fhreagra ar an gceist"An bhféadfaí é seo a thuar agus a chosc mar sin trí locht a thabhairt isteach?" Is turgnamh mion chaos é seo laistigh de thurgnamh chaos chun boinn tuisceana a thástáil, ach ag tosú le teip.

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
An raibh sé ina aisling, nó ar tharla sé i ndáiríre?

Mar sin déan staidéar ar stair na dteipeanna, déan anailís EOC, clibeáil agus rangú de réir “ga buailte”—nó níos cruinne, líon na gcustaiméirí lena mbaineann – agus ansin lorg patrúin. Fiafraigh díot féin an bhféadfaí é seo a thuar agus a chosc tríd an bhfadhb a thabhairt isteach. Seiceáil do fhreagra.

Ansin aistrigh go dtí na patrúin is coitianta leis an raon is mó.

2. Tóg léarscáil spleáchais

Tóg nóiméad le smaoineamh ar d’iarratas. An bhfuil léarscáil soiléir dá spleáchais? An bhfuil a fhios agat cén tionchar a bheidh acu má theipeann orthu?

Mura bhfuil tú an-eolach ar chód d’fheidhmchláir nó má tá sé an-mhór anois, féadann sé a bheith deacair a thuiscint cad a dhéanann an cód agus cad iad na spleáchais atá leis. Tá sé ríthábhachtach na spleáchais sin agus an tionchar a d'fhéadfadh a bheith acu ar an bhfeidhmchlár agus ar úsáideoirí a thuiscint chun fios a bheith agat cá háit le tosú le hinnealtóireacht chaos: is é an pointe tosaigh an chomhpháirt leis an ga tionchair is mó.

Tugtar "ag tógáil léarscáil spleáchais» (mapáil spleáchais). De ghnáth déantar é seo d’fheidhmchláir a bhfuil bonn cód mór acu ag baint úsáide as uirlisí próifílithe cód. (próifíliú cód) agus ionstraimíocht (ionstraim). Is féidir leat léarscáil a thógáil freisin trí mhonatóireacht a dhéanamh ar thrácht líonra.

Mar sin féin, níl gach spleáchas mar an gcéanna (rud a chuireann casta breise ar an bpróiseas). Roinnt criticiúil, eile - tánaisteach (go teoiriciúil ar a laghad, toisc go dtarlaíonn tuairteanna go minic mar gheall ar fhadhbanna le spleáchais a measadh a bheith neamhchriticiúil).

Gan spleáchais ríthábhachtacha, ní féidir leis an tseirbhís oibriú. Spleáchais neamhchriticiúil"níor chóir» tionchar a imirt ar an tseirbhís i gcás titime. Chun spleáchais a thuiscint, ní mór duit tuiscint shoiléir a bheith agat ar na APIanna a úsáideann d'iarratas. Is féidir é seo a bheith i bhfad níos deacra ná mar is cosúil - ar a laghad le haghaidh iarratais mhóra.

Tosaigh ag dul tríd na APIs go léir. Aibhsigh an chuid is mó suntasach agus criticiúil. Tóg spleáchais ón stór cód, seiceáil é logaí nasc, ansin amharc doiciméadú (ar ndóigh, má tá sé ann - a mhalairt atá agat fósоfadhbanna móra). Bain úsáid as na huirlisí chun próifíliú agus rianú, glaonna seachtracha a scagadh.

Is féidir leat úsáid a bhaint as cláir cosúil le netstat - áirgiúlacht líne ordaithe a thaispeánann liosta de na naisc líonra go léir (soicéid gníomhacha) sa chóras. Mar shampla, chun gach nasc reatha a liostú, cineál:

❯ netstat -a | more 

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2

In AWS is féidir leat é a úsáid logs sreabhadh (logs sreafa) Is modh é VPC a ligeann duit faisnéis a bhailiú faoi thrácht IP ag dul go dtí nó ó chomhéadain líonra i VPC. Is féidir le logaí den sórt sin cabhrú freisin le tascanna eile - mar shampla, freagra a fháil ar an gceist cén fáth nach sroicheann trácht áirithe an cás.

Is féidir leat úsáid a bhaint freisin X-ghathaithe AWS. Ligeann X-Ray duit "deireadh" mionsonraithe a fháil (deireadh go deireadh) forbhreathnú ar iarratais agus iad ag dul tríd an bhfeidhmchlár, agus tógann sé léarscáil de bhun-chomhpháirteanna an fheidhmchláir. An-áisiúil más gá duit spleáchais a aithint.

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
Consól X-Ray AWS

Níl i léarscáil spleáchais líonra ach réiteach páirteach. Sea, taispeánann sé cén feidhmchlár a dhéanann cumarsáid leis, ach tá spleáchais eile ann.

Úsáideann go leor feidhmchlár DNS chun nascadh le spleáchais, agus féadfaidh daoine eile úsáid a bhaint as fionnachtain seirbhíse nó fiú seoltaí IP crua-chódaithe i gcomhaid chumraíochta (m.sh. /etc/hosts).

Mar shampla, is féidir leat a chruthú DNS poll dubh leis an gcabhair iptables agus féach cad a bhriseann. Chun seo a dhéanamh, cuir isteach an t-ordú seo a leanas:

❯ iptables -I OUTPUT -p udp --dport 53 -j REJECT -m comment --comment "Reject DNS"

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
DNS poll dubh

Más isteach /etc/hosts nó comhaid chumraíochta eile, gheobhaidh tú seoltaí IP nach bhfuil aon eolas agat orthu (tá, ar an drochuair, tarlaíonn sé seo freisin), is féidir leat teacht ar an tarrthála arís iptables. Ligean le rá fuair tú amach 8.8.8.8 agus níl a fhios agam gurb é seo seoladh freastalaí DNS poiblí Google. Trí úsáid a bhaint as iptables Is féidir leat trácht isteach agus amach chuig an seoladh seo a bhlocáil trí na horduithe seo a leanas a úsáid:

❯ iptables -A INPUT -s 8.8.8.8 -j DROP -m comment --comment "Reject from 8.8.8.8"
❯ iptables -A OUTPUT -d 8.8.8.8 -j DROP -m comment --comment "Reject to 8.8.8.8"

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
Rochtain a dhúnadh

Titeann an chéad riail gach paicéad ó DNS poiblí Google: ping oibríonn, ach ní chuirtear paicéid ar ais. Titeann an dara riail gach paicéad a thagann ó do chóras i dtreo DNS poiblí Google - mar fhreagra ar ping gheobhaimid Oibríocht Ní cheadaítear.

Tabhair faoi deara: sa chás áirithe seo bheadh ​​​​sé níos fearr a úsáid whois 8.8.8.8, ach níl anseo ach sampla.

Is féidir linn dul níos doimhne síos an poll coinín, toisc go mbraitheann gach rud a úsáideann TCP agus UDP ar IP freisin. I bhformhór na gcásanna, tá IP ceangailte le ARP. Ná déanaigí dearmad faoi bhallaí dóiteáin...

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
Má ghlacann tú an piolla dearg, fanann tú in Wonderland, agus taispeánfaidh mé duit cé chomh domhain agus a théann poll coinín."

Tá cur chuige níos radacaí ann dícheangail gluaisteáin ceann ar cheann agus féach cad atá briste ... a bheith ina "moncaí chaos." Ar ndóigh, níl go leor córais táirgthe deartha le haghaidh ionsaí fórsa brute den sórt sin, ach ar a laghad is féidir é a thriail i dtimpeallacht tástála.

Is minic gur obair fhada é léarscáil spleáchais a thógáil. Labhair mé le déanaí le cliant a chaith beagnach 2 bhliain ag forbairt uirlis a ghineann léarscáileanna spleáchais go leath-uathoibríoch do na céadta micreasheirbhísí agus orduithe.

Tá an toradh, áfach, thar a bheith suimiúil agus úsáideach. Foghlaimeoidh tú go leor faoi do chóras, a spleáchais agus a oibríochtaí. Arís, bí foighneach: is é an turas féin is tábhachtaí.

3. Seachain ró-mhuinín

“An té a aislingíonn cad a chreideann, creideann sé.” — Demosthenes

Ar chuala tú riamh trácht ar éifeacht ró-mhuinín?

De réir Vicipéid, is é an éifeacht ró-mhuiníne ná "claonadh cognaíocha ina bhfuil muinín an duine as a gcuid gníomhartha agus cinntí i bhfad níos airde ná cruinneas oibiachtúil na mbreithiúnas sin, go háirithe nuair a bhíonn an leibhéal muiníne sách ard."

Innealtóireacht Chaos: ealaín na scriosta d'aon ghnó. Cuid 2
Bunaithe ar instinct agus taithí ...

I mo thaithí féin, is leid iontach é an saobhadh seo ar cá háit le tosú le hinnealtóireacht chaos.

Seachain an t-oibreoir rómhuiníneach:

Charlie: “Níl an rud seo tar éis titim i gceann cúig bliana, tá gach rud go breá!”
Crash: “Fan... beidh mé ann go luath!”

Is rud corrach agus fiú contúirteach é laofacht mar thoradh ar rómhuinín mar gheall ar na fachtóirí éagsúla a mbíonn tionchar acu air. Tá sé seo fíor go háirithe nuair a bhíonn baill foirne tar éis a gcroí a dhoirteadh isteach i dteicneolaíocht nó go bhfuil go leor ama caite acu “á shocrú”.

Achoimre

Tugann cuardach pointe tosaigh don innealtóireacht chaos níos mó torthaí i gcónaí ná mar a bhíothas ag súil leis, agus cailleann foirne a thosaíonn rudaí a bhriseadh ró-ghasta radharc ar an mbunús domhanda agus suimiúil de (chaos-)innealtóireacht - iarratas cruthaitheach modhanna eolaíocha и fianaise eimpíreach chun córais (bogearraí) a dhearadh, a fhorbairt, a oibriú, a chothabháil agus a fheabhsú.

Críochnaíonn sé seo an dara cuid. Scríobh léirmheasanna, roinn tuairimí nó bualadh bos do lámha Meánach. Sa chéad chuid eile I i ndáiríre Breithneoidh mé uirlisí agus modhanna chun teipeanna a thabhairt isteach i gcórais. Go dtí!

PS ó aistritheoir

Léigh freisin ar ár mblag:

Foinse: will.com

Add a comment