IzplatÄ«ta izsekoÅ”ana: mÄs to visu izdarÄ«jÄm nepareizi
PiezÄ«me. tulk.: Å Ä« materiÄla autore ir Sindija Sridharana, imgix inženiere, kas specializÄjas API izstrÄdÄ un jo Ä«paÅ”i mikropakalpojumu testÄÅ”anÄ. Å ajÄ materiÄlÄ viÅa dalÄs ar savu detalizÄto redzÄjumu par aktuÄlajÄm problÄmÄm izplatÄ«tÄs izsekoÅ”anas jomÄ, kur, viÅasprÄt, trÅ«kst patiesi efektÄ«vu instrumentu aktuÄlu problÄmu risinÄÅ”anai.
[IlustrÄcija Åemta no cits materiÄls par izplatÄ«to izsekoÅ”anu.]
Tiek uzskatÄ«ts, ka izplatÄ«ta izsekoÅ”ana grÅ«ti Ä«stenot, un atdeve no tÄ labÄkajÄ gadÄ«jumÄ apÅ”aubÄmi. Ir daudz iemeslu, kÄpÄc izsekoÅ”ana ir problemÄtiska, bieži atsaucoties uz darbu, kas saistÄ«ts ar katra sistÄmas komponenta konfigurÄÅ”anu, lai ar katru pieprasÄ«jumu pÄrsÅ«tÄ«tu atbilstoÅ”Äs galvenes. Lai gan Ŕī problÄma pastÄv, tÄ nekÄdÄ gadÄ«jumÄ nav nepÄrvarama. Starp citu, tas neizskaidro, kÄpÄc izstrÄdÄtÄjiem Ä«sti nepatÄ«k izsekoÅ”ana (pat ja tÄ jau darbojas).
IzplatÄ«tÄs izsekoÅ”anas galvenÄ problÄma nav datu vÄkÅ”ana, rezultÄtu izplatÄ«Å”anas un prezentÄÅ”anas formÄtu standartizÄÅ”ana vai paraugu ÅemÅ”anas brīža, vietas un veida noteikÅ”ana. Es nemÄÄ£inu iedomÄties triviÄls Ŕīs "saprotamÄ«bas problÄmas" patiesÄ«bÄ ir diezgan nozÄ«mÄ«gas tehniskas un (ja mÄs domÄjam par patiesi atvÄrtÄ pirmkoda) standartiem un protokoliem) politiskÄs problÄmas, kas jÄpÄrvar, lai Ŕīs problÄmas uzskatÄ«tu par atrisinÄtÄm.
TaÄu, ja iedomÄjamies, ka visas Ŕīs problÄmas ir atrisinÄtas, pastÄv liela varbÅ«tÄ«ba, ka nekas bÅ«tiski nemainÄ«sies gala lietotÄja pieredzi. IzsekoÅ”ana joprojÄm var nebÅ«t praktiski noderÄ«ga visbiežÄk sastopamajos atkļūdoÅ”anas scenÄrijos ā pat pÄc tÄs izvietoÅ”anas.
TÄda cita pÄda
IzplatÄ«tÄ izsekoÅ”ana ietver vairÄkas atŔķirÄ«gas sastÄvdaļas:
lietojumprogrammu un starpprogrammatūras aprīkoŔana ar vadības rīkiem;
izplatÄ«ta konteksta pÄrsÅ«tÄ«Å”ana;
pÄdu savÄkÅ”ana;
pÄdu uzglabÄÅ”ana;
to iegÅ«Å”ana un vizualizÄcija.
Daudzas runas par izplatÄ«to izsekoÅ”anu mÄdz to uzskatÄ«t par savdabÄ«gu operÄciju, kuras vienÄ«gais mÄrÄ·is ir palÄ«dzÄt pilnÄ«bÄ diagnosticÄt sistÄmu. Tas lielÄ mÄrÄ ir saistÄ«ts ar to, kÄ vÄsturiski ir veidojuÅ”Äs idejas par izplatÄ«to izsekoÅ”anu. IN emuÄra ieraksti, kas izgatavots, kad tika atvÄrti Zipkin avoti, tika minÄts, ka tas [Zipkin] padara Twitter ÄtrÄku. Pirmie komerciÄlie piedÄvÄjumi izsekoÅ”anai tika reklamÄti arÄ« kÄ APM rÄ«ki.
PiezÄ«me. tulk.: Lai turpmÄk teksts bÅ«tu vieglÄk saprotams, definÄsim divus pamatjÄdzienus atbilstoÅ”i OpenTracing projekta dokumentÄcija:
SprÄ«dis ā izplatÄ«tÄs izsekoÅ”anas pamatelements. Tas ir noteiktas darbplÅ«smas (piemÄram, datu bÄzes vaicÄjuma) apraksts ar nosaukumu, sÄkuma un beigu laiku, tagiem, žurnÄliem un kontekstu.
Laipumos parasti ir saites uz citiem laidumiem, ļaujot apvienot vairÄkus laidumus izsekot ā pieprasÄ«juma darbÄ«bas vizualizÄcija, kad tas pÄrvietojas pa sadalÄ«to sistÄmu.
Traces satur neticami vÄrtÄ«gus datus, kas var palÄ«dzÄt veikt tÄdus uzdevumus kÄ ražoÅ”anas testÄÅ”ana, avÄrijas atkopÅ”anas pÄrbaude, kļūdu ievadÄ«Å”anas pÄrbaude utt. Faktiski daži uzÅÄmumi jau izmanto izsekoÅ”anu lÄ«dzÄ«giem mÄrÄ·iem. SÄksim ar universÄla konteksta pÄrneÅ”ana tam ir arÄ« citi lietojumi, ne tikai vienkÄrÅ”i pÄrvietoÅ”ana uz glabÄÅ”anas sistÄmu:
PiemÄram, Uber izmanto izsekoÅ”anas rezultÄtus, lai atŔķirtu testa trafiku un ražoÅ”anas trafiku.
Facebook izmanto izsekot datus kritisko ceļu analÄ«zei un satiksmes pÄrslÄgÅ”anai regulÄru avÄrijas atkopÅ”anas testu laikÄ.
ArÄ« sociÄlais tÄ«kls attiecas Jupyter piezÄ«mjdatori, kas ļauj izstrÄdÄtÄjiem palaist patvaļīgus vaicÄjumus izsekoÅ”anas rezultÄtiem.
SekotÄji LDFI (Lineage Driven Failure Injection) izmantot izplatÄ«ja pÄdas testÄÅ”anai ar kļūdu ievadÄ«Å”anu.
Neviena no iepriekÅ” minÄtajÄm opcijÄm pilnÄ«bÄ neattiecas uz Å”o scenÄriju atkļūdoÅ”ana, kuras laikÄ inženieris mÄÄ£ina atrisinÄt problÄmu, aplÅ«kojot pÄdas.
Kad tas nÄk tomÄr sasniedz atkļūdoÅ”anas skriptu, primÄrais interfeiss paliek diagramma traceview (lai gan daži to arÄ« sauc "Ganta diagramma" vai "Å«denskrituma diagramma"). Zem traceview Ń ES domÄju visi laidumi un pavadoÅ”ie metadati, kas kopÄ veido izsekoÅ”anu. Katra atvÄrtÄ pirmkoda izsekoÅ”anas sistÄma, kÄ arÄ« katrs komerciÄlais izsekoÅ”anas risinÄjums piedÄvÄ a traceview lietotÄja interfeiss pÄdu vizualizÄÅ”anai, detalizÄcijai un filtrÄÅ”anai.
ProblÄma ar visÄm izsekoÅ”anas sistÄmÄm, ko esmu redzÄjis lÄ«dz Å”im, ir tÄ, ka rezultÄts vizualizÄcija (traceview) gandrÄ«z pilnÄ«bÄ atspoguļo pÄdu Ä£enerÄÅ”anas procesa iezÄ«mes. Pat tad, ja tiek piedÄvÄtas alternatÄ«vas vizualizÄcijas: siltuma kartes, pakalpojumu topoloÄ£ijas, latentuma histogrammas, galu galÄ tÄs joprojÄm ir traceview.
AgrÄk es sÅ«dzÄjÄs Ŕķiet, ka lielÄkÄ daļa "inovÄciju" UI/UX izsekoÅ”anas jomÄ ir ierobežotas ieslÄdzoties papildu metadatus izsekot, ieguldot tajos informÄciju ar augstu kardinalitÄti (augsta kardinalitÄte) vai nodroÅ”inot iespÄju veikt dziļas darbÄ«bas konkrÄtos diapazonos vai izpildÄ«t vaicÄjumus inter- un intra-trace... KurÄ vietÄ traceview joprojÄm ir galvenais vizualizÄcijas rÄ«ks. KamÄr Å”is stÄvoklis turpinÄsies, izplatÄ«tÄ izsekoÅ”ana (labÄkajÄ gadÄ«jumÄ) ieÅems 4. vietu kÄ atkļūdoÅ”anas rÄ«ks pÄc metrikas, žurnÄliem un steku pÄdÄm, un sliktÄkajÄ gadÄ«jumÄ tÄ izrÄdÄ«sies naudas un laika izŔķieÅ”ana.
ProblÄma ar traceview
Destinies traceview ā sniedz pilnÄ«gu priekÅ”statu par viena pieprasÄ«juma kustÄ«bu visos izplatÄ«tÄs sistÄmas komponentos, ar kuriem tas ir saistÄ«ts. Dažas uzlabotas izsekoÅ”anas sistÄmas ļauj urbt atseviŔķos diapazonos un skatÄ«t sadalÄ«jumu laika gaitÄ laikÄ viens process (kad laidumiem ir funkcionÄlas robežas).
Mikropakalpojumu arhitektÅ«ras pamatprincips ir ideja, ka organizatoriskÄ struktÅ«ra aug lÄ«dz ar uzÅÄmuma vajadzÄ«bÄm. Mikropakalpojumu atbalstÄ«tÄji apgalvo, ka dažÄdu biznesa uzdevumu sadale atseviŔķos pakalpojumos ļauj mazÄm, autonomÄm izstrÄdes komandÄm kontrolÄt visu Å”Ädu pakalpojumu dzÄ«ves ciklu, dodot tÄm iespÄju neatkarÄ«gi izveidot, pÄrbaudÄ«t un izvietot Å”os pakalpojumus. TomÄr Ŕīs izplatÄ«Å”anas trÅ«kums ir informÄcijas zudums par to, kÄ katrs pakalpojums mijiedarbojas ar citiem. Å Ädos apstÄkļos izplatÄ«tÄ izsekoÅ”ana tiek uzskatÄ«ta par neaizstÄjamu lÄ«dzekli atkļūdoÅ”ana sarežģīta mijiedarbÄ«ba starp pakalpojumiem.
Ja jÅ«s patieÅ”Äm satriecoÅ”i sarežģīta izplatÄ«ta sistÄma, tad ne viens vien nespÄj to paturÄt savÄ galvÄ pabeigta bilde. Faktiski tÄda rÄ«ka izstrÄde, kas balstÄs uz pieÅÄmumu, ka tas ir pat iespÄjams, ir kaut kas tÄds kÄ pretmodelis (neefektÄ«va un neproduktÄ«va pieeja). IdeÄlÄ gadÄ«jumÄ atkļūdoÅ”anai ir nepiecieÅ”ams rÄ«ks, kas palÄ«dz saÅ”auriniet meklÄÅ”anas apgabalu, lai inženieri varÄtu koncentrÄties uz dimensiju apakÅ”kopu (pakalpojumi/lietotÄji/saimnieki utt.), kas attiecas uz aplÅ«kojamo problÄmas scenÄriju. Nosakot kļūmes cÄloni, inženieriem nav jÄsaprot, kas notika darbÄ«bas laikÄ visus pakalpojumus uzreiz, jo Å”Äda prasÄ«ba bÅ«tu pretrunÄ paÅ”ai mikropakalpojumu arhitektÅ«ras idejai.
TomÄr traceview ir proti Å is. JÄ, dažas izsekoÅ”anas sistÄmas piedÄvÄ saspiestus trasÄÅ”anas skatus, ja trasÄ esoÅ”o laidumu skaits ir tik liels, ka tos nevar parÄdÄ«t vienÄ vizualizÄcijÄ. TomÄr, Åemot vÄrÄ lielo informÄcijas daudzumu, kas ietverts pat Å”ÄdÄ attÄ«rÄ«tÄ vizualizÄcijÄ, inženieri joprojÄm piespiedu kÄrtÄ āizsijÄtā to, manuÄli saÅ”aurinot atlasi lÄ«dz pakalpojumu kopumam, kas rada problÄmas. DiemžÄl Å”ajÄ jomÄ maŔīnas ir daudz ÄtrÄkas par cilvÄkiem, mazÄk pakļautas kļūdÄm, un to rezultÄti ir vairÄk atkÄrtojami.
VÄl viens iemesls, kÄpÄc es uzskatu, ka traceview ir nepareizs, ir tas, ka tas nav piemÄrots hipotÄžu vadÄ«tai atkļūdoÅ”anai. TÄs pamatÄ ir atkļūdoÅ”ana iteratÄ«vs process sÄkas ar hipotÄzi, kam seko dažÄdu novÄrojumu un no sistÄmas iegÅ«to faktu pÄrbaude pa dažÄdiem vektoriem, secinÄjumi/vispÄrinÄjumi un tÄlÄka hipotÄzes patiesuma izvÄrtÄÅ”ana.
IespÄja Ätri un lÄti hipotÄžu pÄrbaude un attiecÄ«gi garÄ«gÄ modeļa uzlaboÅ”ana ir stÅ«rakmens atkļūdoÅ”ana Jebkuram atkļūdoÅ”anas rÄ«kam jÄbÅ«t interaktÄ«vs un saÅ”auriniet meklÄÅ”anas laukumu vai, ja ir viltus potenciÄls, ļaujiet lietotÄjam atgriezties un koncentrÄties uz citu sistÄmas apgabalu. IdeÄls rÄ«ks to darÄ«s aktÄ«vi, nekavÄjoties pievÄrÅ”ot lietotÄja uzmanÄ«bu iespÄjamÄm problÄmzonÄm.
DiemžÄl traceview nevar saukt par rÄ«ku ar interaktÄ«vu saskarni. LabÄkais, uz ko varat cerÄt, to lietojot, ir atrast kÄdu palielinÄta latentuma avotu un apskatÄ«t visus iespÄjamos ar to saistÄ«tos tagus un žurnÄlus. Tas nepalÄ«dz inženierim identificÄt modeļiem satiksmÄ, piemÄram, aizkaves sadalÄ«juma specifiku, vai atklÄt korelÄcijas starp dažÄdiem mÄrÄ«jumiem. VispÄrÄja pÄdu analÄ«ze var palÄ«dzÄt apiet dažas no Ŕīm problÄmÄm. TieÅ”Äm, ir piemÄri veiksmÄ«ga analÄ«ze, izmantojot maŔīnmÄcÄ«Å”anos, lai identificÄtu anomÄlus diapazonus un noteiktu tagu apakÅ”kopu, kas var bÅ«t saistÄ«ta ar anomÄlu uzvedÄ«bu. TomÄr es vÄl neesmu redzÄjis pÄrliecinoÅ”as maŔīnmÄcÄ«Å”anÄs vai datu ieguves atklÄjumu vizualizÄcijas, kas tiek piemÄrotas diapazoniem, kas ievÄrojami atŔķiras no trasÄÅ”anas skata vai DAG (virzÄ«tÄ acikliskÄ diagramma).
Laidieni ir pÄrÄk zemÄ lÄ«menÄ«
Traceview galvenÄ problÄma ir tÄ laidumi ir pÄrÄk zema lÄ«meÅa primitÄ«vi gan latentuma analÄ«zei, gan pamatcÄloÅa analÄ«zei. Tas ir tÄpat kÄ atseviŔķu procesora komandu parsÄÅ”ana, lai mÄÄ£inÄtu atrisinÄt izÅÄmumu, zinot, ka ir daudz augstÄka lÄ«meÅa rÄ«ki, piemÄram, backtrace, ar kuriem ir daudz ÄrtÄk strÄdÄt.
TurklÄt es atļauÅ”os apgalvot sekojoÅ”o: ideÄlÄ gadÄ«jumÄ mums tas nav vajadzÄ«gs pilns attÄls radÄs pieprasÄ«juma dzÄ«ves cikla laikÄ, ko attÄlo mÅ«sdienÄ«gi izsekoÅ”anas rÄ«ki. TÄ vietÄ ir nepiecieÅ”ama kÄda augstÄka lÄ«meÅa abstrakcijas forma, kas satur informÄciju par to, ko nogÄja greizi (lÄ«dzÄ«gi kÄ backtrace), kopÄ ar kÄdu kontekstu. TÄ vietÄ, lai skatÄ«tos visu pÄdu, es labprÄtÄk to redzu ŃŠ°ŃŃŃ, kur notiek kas interesants vai neparasts. PaÅ”laik meklÄÅ”ana tiek veikta manuÄli: inženieris saÅem izsekojumu un neatkarÄ«gi analizÄ diapazonus, meklÄjot kaut ko interesantu. CilvÄku pieeja, kas skatÄs uz diapazoniem atseviŔķÄs pÄdÄs, cerot atklÄt aizdomÄ«gu darbÄ«bu, vispÄr nav mÄrogota (Ä«paÅ”i, ja viÅiem ir jÄsaprot visi dažÄdos diapazonos kodÄtie metadati, piemÄram, diapazona ID, RPC metodes nosaukums, diapazona ilgums 'a, žurnÄli, tagi utt.).
Traceview alternatīvas
IzsekoÅ”anas rezultÄti ir visnoderÄ«gÄkie, ja tos var vizualizÄt tÄdÄ veidÄ, kas sniedz nenozÄ«mÄ«gu ieskatu par to, kas notiek savstarpÄji savienotajÄs sistÄmas daļÄs. KamÄr tas nenotiek, atkļūdoÅ”anas process lielÄkoties turpinÄs inerts un tas ir atkarÄ«gs no lietotÄja spÄjas pamanÄ«t pareizÄs korelÄcijas, pÄrbaudÄ«t pareizÄs sistÄmas daļas vai salikt puzles daļas ā pretÄji rÄ«ks, palÄ«dzot lietotÄjam formulÄt Ŕīs hipotÄzes.
Es neesmu vizuÄlais dizainers vai UX speciÄlists, bet nÄkamajÄ sadaÄ¼Ä vÄlos dalÄ«ties ar dažÄm idejÄm par to, kÄ Å”Ä«s vizualizÄcijas varÄtu izskatÄ«ties.
KoncentrÄjieties uz konkrÄtiem pakalpojumiem
LaikÄ, kad nozare konsolidÄjas ap idejÄm SLO (pakalpojuma lÄ«meÅa mÄrÄ·i) un SLI (pakalpojuma lÄ«meÅa rÄdÄ«tÄji), Ŕķiet saprÄtÄ«gi, ka atseviŔķÄm komandÄm par prioritÄti ir jÄnodroÅ”ina to pakalpojumu atbilstÄ«ba Å”iem mÄrÄ·iem. No tÄ izriet, ka orientÄts uz pakalpojumu vizualizÄcija ir vislabÄk piemÄrota Å”ÄdÄm komandÄm.
Trases, Ä«paÅ”i bez paraugu ÅemÅ”anas, ir informÄcijas dÄrgums par katru sadalÄ«tÄs sistÄmas komponentu. Å o informÄciju var ievadÄ«t viltÄ«gam procesoram, kas apgÄdÄs lietotÄjus orientÄts uz pakalpojumu atklÄjumus. Tos var identificÄt jau iepriekÅ” ā pat pirms lietotÄjs apskata pÄdas:
Latenta sadalÄ«juma diagrammas tikai ļoti pamanÄmiem pieprasÄ«jumiem (ÄrpusÄji pieprasÄ«jumi);
Aizkaves sadalÄ«juma diagrammas gadÄ«jumiem, kad pakalpojuma SLO mÄrÄ·i nav sasniegti;
āVisparastÄkieā, āinteresantÄkieā un ādÄ«vainÄkieā tagi vaicÄjumos, kas visbiežÄk tiek atkÄrtoti;
Latenta sadalÄ«jums gadÄ«jumiem, kad atkarÄ«bas pakalpojumi nesasniedz savus SLO mÄrÄ·us;
IebÅ«vÄtie rÄdÄ«tÄji vienkÄrÅ”i neatbild uz dažiem no Å”iem jautÄjumiem, liekot lietotÄjiem rÅ«pÄ«gi pÄrbaudÄ«t diapazonus. RezultÄtÄ mums ir lietotÄjam ÄrkÄrtÄ«gi naidÄ«gs mehÄnisms.
Tas rada jautÄjumu: kÄ ir ar sarežģītu mijiedarbÄ«bu starp dažÄdiem pakalpojumiem, ko kontrolÄ dažÄdas komandas? Vai nav traceview netiek uzskatÄ«ts par piemÄrotÄko lÄ«dzekli Å”Ädas situÄcijas izcelÅ”anai?
Mobilo ierÄ«Äu izstrÄdÄtÄjus, bezvalstnieku pakalpojumu Ä«paÅ”niekus, pÄrvaldÄ«tu statusu pakalpojumu (piemÄram, datubÄzu) Ä«paÅ”niekus un platformu Ä«paÅ”niekus var interesÄt kas cits prezentÄcija izplatÄ«ta sistÄma; traceview ir pÄrÄk vispÄrÄ«gs risinÄjums Ŕīm bÅ«tiski atŔķirÄ«gajÄm vajadzÄ«bÄm. Pat ļoti sarežģītÄ mikropakalpojumu arhitektÅ«rÄ pakalpojumu Ä«paÅ”niekiem nav vajadzÄ«gas dziļas zinÄÅ”anas par vairÄk nekÄ diviem vai trim augÅ”upÄjiem un pakÄrtotiem pakalpojumiem. BÅ«tÄ«bÄ vairumÄ gadÄ«jumu lietotÄjiem ir jÄatbild tikai uz jautÄjumiem par ierobežots pakalpojumu komplekts.
Tas ir tÄpat kÄ skatÄ«t nelielu pakalpojumu apakÅ”kopu caur palielinÄmo stiklu, lai to rÅ«pÄ«gi pÄrbaudÄ«tu. Tas ļaus lietotÄjam uzdot aktuÄlÄkus jautÄjumus par sarežģīto mijiedarbÄ«bu starp Å”iem pakalpojumiem un to tieÅ”ajÄm atkarÄ«bÄm. Tas ir lÄ«dzÄ«gi kÄ backtrace pakalpojumu pasaulÄ, kur inženieris zina ka nepareizi, un viÅam ir arÄ« zinÄma izpratne par to, kas notiek apkÄrtÄjos pakalpojumos kÄpÄc.
Manis popularizÄtÄ pieeja ir tieÅ”i pretÄja lejupÄjai, uz traceview balstÄ«tai pieejai, kur analÄ«ze sÄkas ar visu trasÄÅ”anu un pÄc tam pakÄpeniski pÄriet uz atseviŔķiem diapazoniem. Turpretim augÅ”upÄjÄ pieeja sÄkas, analizÄjot nelielu apgabalu, kas atrodas tuvu iespÄjamajam incidenta cÄlonim, un pÄc tam paplaÅ”ina meklÄÅ”anas telpu pÄc vajadzÄ«bas (ar iespÄju piesaistÄ«t citas komandas, lai analizÄtu plaÅ”Äku pakalpojumu klÄstu). OtrÄ pieeja ir labÄk piemÄrota sÄkotnÄjo hipotÄžu Ätrai pÄrbaudei. Kad bÅ«s iegÅ«ti konkrÄti rezultÄti, bÅ«s iespÄjams pÄriet uz mÄrÄ·tiecÄ«gÄku un detalizÄtÄku analÄ«zi.
Topoloģijas veidoŔana
Pakalpojuma skati var bÅ«t neticami noderÄ«gi, ja lietotÄjs to zina ko pakalpojums vai pakalpojumu grupa ir atbildÄ«gs par latentuma palielinÄÅ”anu vai kļūdu izraisÄ«Å”anu. TomÄr sarežģītÄ sistÄmÄ pÄrkÄpÄja pakalpojuma identificÄÅ”ana kļūmes laikÄ var bÅ«t nenozÄ«mÄ«gs uzdevums, it Ä«paÅ”i, ja no pakalpojumiem netika ziÅots par kļūdu ziÅojumiem.
Pakalpojuma topoloÄ£ijas izveide var bÅ«t ļoti noderÄ«ga, lai noskaidrotu, kurÄ pakalpojumÄ ir kļūdas lÄ«meÅa pieaugums vai latentuma palielinÄÅ”anÄs, kas izraisa pakalpojuma ievÄrojamu pasliktinÄÅ”anos. Kad es runÄju par topoloÄ£ijas veidoÅ”anu, es to nedomÄju pakalpojumu karte, kurÄ tiek parÄdÄ«ti visi sistÄmÄ pieejamie un ar to pazÄ«stami pakalpojumi arhitektÅ«ras kartes nÄves zvaigznes formÄ. Å is skats nav labÄks par traceview, kas balstÄ«ts uz virzÄ«tu aciklisku grafiku. TÄ vietÄ es gribÄtu redzÄt dinamiski Ä£enerÄta pakalpojumu topoloÄ£ija, pamatojoties uz noteiktiem atribÅ«tiem, piemÄram, kļūdu biežumu, reakcijas laiku vai jebkuru lietotÄja definÄtu parametru, kas palÄ«dz noskaidrot situÄciju ar konkrÄtiem aizdomÄ«giem pakalpojumiem.
Å emsim piemÄru. IedomÄsimies hipotÄtisku ziÅu vietni. MÄjas lapas pakalpojums (priekÅ”ÄjÄ lapa) apmainÄs ar datiem ar Redis, ar ieteikumu pakalpojumu, ar reklÄmas pakalpojumu un video pakalpojumu. Video pakalpojums Åem video no S3 un metadatus no DynamoDB. Ieteikumu pakalpojums saÅem metadatus no DynamoDB, ielÄdÄ datus no Redis un MySQL un raksta ziÅojumus Kafka. ReklÄmas pakalpojums saÅem datus no MySQL un raksta ziÅojumus Kafkai.
ZemÄk ir shematisks Ŕīs topoloÄ£ijas attÄlojums (daudzas komerciÄlas marÅ”rutÄÅ”anas programmas veido topoloÄ£iju). Tas var bÅ«t noderÄ«gi, ja jums ir jÄsaprot pakalpojumu atkarÄ«bas. TomÄr laikÄ atkļūdoÅ”ana, ja noteiktam pakalpojumam (piemÄram, video pakalpojumam) ir palielinÄts reakcijas laiks, Å”Äda topoloÄ£ija nav Ä«paÅ”i noderÄ«ga.
HipotÄtiskas ziÅu vietnes pakalpojumu diagramma
ZemÄk redzamÄ diagramma bÅ«tu piemÄrotÄka. RadÄs problÄma ar pakalpojumu (video) attÄlots tieÅ”i centrÄ. LietotÄjs to uzreiz pamana. No Ŕīs vizualizÄcijas kļūst skaidrs, ka video pakalpojums darbojas neparasti, jo palielinÄs S3 reakcijas laiks, kas ietekmÄ galvenÄs lapas daļas ielÄdes Ätrumu.
DinamiskÄ topoloÄ£ija, kas parÄda tikai āinteresantosā pakalpojumus
Dinamiski Ä£enerÄtas topoloÄ£ijas var bÅ«t efektÄ«vÄkas nekÄ statiskÄs pakalpojumu kartes, Ä«paÅ”i elastÄ«gÄs, automÄtiskÄs mÄrogoÅ”anas infrastruktÅ«rÄs. IespÄja salÄ«dzinÄt un pretstatÄ«t pakalpojumu topoloÄ£ijas ļauj lietotÄjam uzdot atbilstoÅ”Äkus jautÄjumus. PrecÄ«zÄki jautÄjumi par sistÄmu, visticamÄk, ļaus labÄk izprast, kÄ sistÄma darbojas.
SalīdzinoŔais displejs
VÄl viena noderÄ«ga vizualizÄcija bÅ«tu salÄ«dzinoÅ”s displejs. PaÅ”laik pÄdas nav Ä«paÅ”i piemÄrotas salÄ«dzinÄÅ”anai lÄ«dzÄs, tÄpÄc salÄ«dzinÄjumi parasti ir laidumi. Un Ŕī raksta galvenÄ doma ir tieÅ”i tÄda, ka laidumi ir pÄrÄk zemi, lai no izsekoÅ”anas rezultÄtiem iegÅ«tu visvÄrtÄ«gÄko informÄciju.
Divu pÄdu salÄ«dzinÄÅ”anai nav nepiecieÅ”amas principiÄli jaunas vizualizÄcijas. Faktiski pietiek ar tÄdu paÅ”u informÄciju kÄ histogramma, kas attÄlo traceview. PÄrsteidzoÅ”i, pat Ŕī vienkÄrÅ”Ä metode var dot daudz vairÄk augļu nekÄ vienkÄrÅ”a divu pÄdu izpÄte atseviŔķi. IespÄja bÅ«tu vÄl jaudÄ«gÄka vizualizÄt pÄdu salÄ«dzinÄjums KopÄ. BÅ«tu ļoti noderÄ«gi redzÄt, kÄ nesen izvietotÄs datu bÄzes konfigurÄcijas izmaiÅas, lai iespÄjotu GC (atkritumu savÄkÅ”anu), ietekmÄ pakÄrtotÄ pakalpojuma reakcijas laiku vairÄku stundu mÄrogÄ. Ja tas, ko es Å”eit aprakstu, izklausÄs pÄc A/B analÄ«zes par infrastruktÅ«ras izmaiÅu ietekmi daudzos pakalpojumos izmantojot izsekoÅ”anas rezultÄtus, jÅ«s neesat pÄrÄk tÄlu no patiesÄ«bas.
SecinÄjums
Es neapÅ”aubu paÅ”as izsekoÅ”anas lietderÄ«bu. Es patiesi uzskatu, ka nav citas metodes, lai savÄktu tik bagÄtÄ«gus, cÄloÅsakarÄ«gus un kontekstuÄlus datus kÄ pÄdÄs. TomÄr es arÄ« uzskatu, ka visi izsekoÅ”anas risinÄjumi Å”os datus izmanto ÄrkÄrtÄ«gi neefektÄ«vi. KamÄr izsekoÅ”anas rÄ«ki paliks iestrÄguÅ”i traceview attÄlojumÄ, to spÄja maksimÄli izmantot vÄrtÄ«go informÄciju, ko var iegÅ«t no trasÄs ietvertajiem datiem, bÅ«s ierobežota. TurklÄt pastÄv risks, ka turpmÄk tiks izstrÄdÄts pilnÄ«gi nedraudzÄ«gs un neintuitÄ«vs vizuÄlais interfeiss, kas ievÄrojami ierobežos lietotÄja iespÄjas novÄrst kļūdas lietojumprogrammÄ.
Sarežģītu sistÄmu atkļūdoÅ”ana pat ar jaunÄkajiem rÄ«kiem ir neticami sarežģīta. RÄ«kiem ir jÄpalÄ«dz izstrÄdÄtÄjam formulÄt un pÄrbaudÄ«t hipotÄzi, aktÄ«vi nodroÅ”inot attiecÄ«go informÄciju, identificÄjot novirzes un atzÄ«mÄjot kavÄjumu sadalÄ«juma pazÄ«mes. Lai izsekoÅ”ana kļūtu par izstrÄdÄtÄju izvÄles rÄ«ku, novÄrÅ”ot ražoÅ”anas kļūmes vai risinot problÄmas, kas aptver vairÄkus pakalpojumus, ir nepiecieÅ”amas oriÄ£inÄlas lietotÄja saskarnes un vizualizÄcijas, kas vairÄk atbilst to izstrÄdÄtÄju garÄ«gajam modelim, kuri veido un apkalpo Å”os pakalpojumus.
Lai izstrÄdÄtu sistÄmu, kas attÄlos dažÄdos izsekoÅ”anas rezultÄtos pieejamos signÄlus tÄdÄ veidÄ, kas ir optimizÄts, lai atvieglotu analÄ«zi un secinÄjumus, bÅ«s vajadzÄ«gas ievÄrojamas pÅ«les. Jums ir jÄdomÄ par to, kÄ atkļūdoÅ”anas laikÄ abstrahÄt sistÄmas topoloÄ£iju tÄ, lai palÄ«dzÄtu lietotÄjam pÄrvarÄt aklÄs zonas, neapskatot atseviŔķas pÄdas vai laidumus.
Mums ir vajadzÄ«gas labas abstrakcijas un slÄÅoÅ”anas iespÄjas (Ä«paÅ”i lietotÄja saskarnÄ). Tie, kas labi iederÄtos uz hipotÄzÄm balstÄ«tÄ atkļūdoÅ”anas procesÄ, kurÄ varat iteratÄ«vi uzdot jautÄjumus un pÄrbaudÄ«t hipotÄzes. Tie automÄtiski neatrisinÄs visas novÄrojamÄ«bas problÄmas, taÄu palÄ«dzÄs lietotÄjiem uzlabot intuÄ«ciju un formulÄt gudrÄkus jautÄjumus. Aicinu uz pÄrdomÄtÄku un inovatÄ«vÄku pieeju vizualizÄcijai. Å eit ir reÄlas iespÄjas paplaÅ”inÄt redzesloku.