Kusankhidwa kwa mankhwalawa kumaphatikizapo mitundu yosiyanasiyana:
kukonzekeretsa mapulogalamu ndi zida zapakati ndi zida zowongolera;
kugawa nkhani kutengerapo;
kusonkhanitsa zizindikiro;
kusungirako kufufuza;
mawonekedwe awo ndi mawonekedwe.
Zokambirana zambiri zokhuza kugawanika zimakonda kuzichita ngati mtundu wa opaleshoni yomwe cholinga chake ndikuthandizira kuzindikira dongosolo. Izi zachitika makamaka chifukwa cha momwe malingaliro okhudza kutsatiridwa komwe adagawidwa adakhazikitsidwa kale. MU zolemba za blog, yopangidwa pamene magwero a Zipkin adatsegulidwa, adatchulidwa kuti izo [Zipkin] imapangitsa Twitter kukhala yofulumira. Zopereka zoyamba zamalonda zotsatizana zidalimbikitsidwanso ngati Zida za APM.
Zindikirani. transl.: Kuti mawu ena akhale osavuta kumva, tiyeni titanthauze mawu awiri ofunikira molingana ndi Zolemba za polojekiti ya OpenTracing:
chikhato - chinthu chofunikira pakutsata kugawidwa. Ndilo kufotokozera za kayendedwe ka ntchito (mwachitsanzo, funso la database) yokhala ndi dzina, nthawi yoyambira ndi yomaliza, ma tag, zipika ndi nkhani.
Ma Span nthawi zambiri amakhala ndi maulalo amitundu ina, zomwe zimalola kuti ma span angapo agwirizane Tsatirani -Kuwonera moyo wa pempho pamene likudutsa mu dongosolo logawidwa.
Ma trace ali ndi data yofunikira kwambiri yomwe ingathandize ndi ntchito monga kuyesa kupanga, kuyesa kuchira pakagwa masoka, kuyesa jakisoni wolakwika, ndi zina. M'malo mwake, makampani ena amagwiritsa ntchito kale kufufuza zinthu zofanana. Tiyeni tiyambe ndi kusamutsa kwapadziko lonse lapansi ili ndi ntchito zina kuwonjezera pa kusuntha kolowera kumalo osungira:
Mwachitsanzo, Uber amagwiritsa kutsatira zotsatira kuti musiyanitse kuchuluka kwa magalimoto oyesa ndi kuchuluka kwa magalimoto opanga.
Ikafika komabe ikafika pa debugging script, mawonekedwe oyambira amakhalabe chithunzi traceview (ngakhale ena amachitchanso "Gantt chart" kapena "chithunzi cha mathithi"). Pansi traceview Ρ Ndikutanthauza mipata yonse ndi metadata yotsagana nayo yomwe imapanga mlozera. Njira iliyonse yotsegulira gwero, komanso njira iliyonse yotsatsira malonda, imapereka a traceview mawonekedwe ogwiritsira ntchito kuti muwone, tsatanetsatane ndi zosefera.
Vuto ndi machitidwe onse otsata omwe ndawawona mpaka pano ndikuti zotsatira zake mawonekedwe (mawonekedwe) pafupifupi kwathunthu zimasonyeza mbali ya ndondomeko m'badwo trace. Ngakhale mawonedwe ena akufunsidwa: ma heatmaps, ma topology a service, latency histograms, amatsikirabe traceview.
M'mbuyomu I anadandaula zomwe UI/UX zambiri zotsata "zatsopano" zikuwoneka kuti ndizochepa kuyatsa metadata yowonjezera pakutsata, kuyikamo zidziwitso mwanzeru kwambiri (wapamwamba kwambiri) kapena kupereka mwayi wolowera m'mipata inayake kapena kufunsa mafunso inter- ndi intra-trace... Momwemo traceview ikadali chida choyambirira chowonera. Malingana ngati izi zikupitirirabe, kugawira kugawidwa (koyenera) kudzatenga malo a 4 ngati chida chowongolera, pambuyo pa ma metrics, zipika ndi ma stack trace, ndipo poipitsitsa zidzasanduka kuwononga ndalama ndi nthawi.
Vuto ndi traceview
Cholinga traceview - perekani chithunzi chonse cha kayendetsedwe ka pempho limodzi pazigawo zonse za dongosolo logawidwa lomwe likugwirizana nalo. Njira zina zotsogola zotsogola zimakulolani kuti mutsike m'mipata yanu ndikuwona kuwonongeka pakapita nthawi mkati njira imodzi (pamene ma span ali ndi malire ogwira ntchito).
Chofunikira pakumanga kwa ma microservices ndi lingaliro lakuti dongosolo la bungwe limakula ndi zosowa za kampani. Othandizira ma microservices akuti kugawa ntchito zosiyanasiyana zamabizinesi muzochita zapayekha kumalola magulu ang'onoang'ono, odziyimira pawokha kuwongolera moyo wonse wantchito zotere, kuwapatsa mwayi wodzimanga okha, kuyesa, ndikutumiza ntchitozo. Komabe, kuipa kwa kugawa kumeneku ndiko kutayika kwa chidziwitso cha momwe ntchito iliyonse imagwirizanirana ndi ena. M'mikhalidwe yotere, kugawira zodzinenera kukhala chida chofunikira kwambiri yesetsani kuyanjana kovuta pakati pa mautumiki.
Ngati inu kwenikweni modabwitsa zovuta anagawa dongosolo, ndiye palibe ndi mmodzi yemwe amene angathe kuusunga mβmutu mwake kumaliza chithunzi. M'malo mwake, kupanga chida chokhazikika poganiza kuti ndizothekanso ndi chinthu chotsutsana ndi njira (njira yosagwira ntchito komanso yopanda phindu). Momwemo, kukonza zolakwika kumafuna chida chomwe chimathandiza chepetsani malo anu osaka, kotero kuti mainjiniya athe kuyang'ana pamagulu ang'onoang'ono (mautumiki/ogwiritsa ntchito/makamu, ndi zina zotero) zogwirizana ndi vuto lomwe likuganiziridwa. Pozindikira chomwe chalephereka, mainjiniya safunikira kuti amvetsetse zomwe zidachitika panthawiyi mautumiki onse nthawi imodzi, popeza kufunikira kotereku kumatsutsana ndi lingaliro lenileni la zomangamanga zazing'ono.
Komabe, traceview ndi ndiye Izi. Inde, machitidwe ena otsatirira amapereka zowonera zotsatiridwa pamene kuchuluka kwa mipata ndi yayikulu kwambiri kotero kuti sangathe kuwonetsedwa m'chiwonetsero chimodzi. Komabe, chifukwa cha kuchuluka kwa zidziwitso zomwe zili m'mawonekedwe ochotsedwa, mainjiniya akadali kukakamizidwa "sefani", ndikuchepetsera kusankha kukhala gulu la mautumiki omwe ali magwero amavuto. Tsoka ilo, m'munda uno, makina amathamanga kwambiri kuposa anthu, samakonda zolakwika, ndipo zotsatira zake zimakhala zobwerezabwereza.
Chifukwa china chomwe ndikuganiza kuti traceview ndiyolakwika ndi chifukwa sichoyenera kuwongolera motsogozedwa ndi malingaliro. Pachiyambi chake, debugging ndi obwerezabwereza ndondomeko yoyambira ndi malingaliro, yotsatiridwa ndi kutsimikiziridwa kwa zowonera zosiyanasiyana ndi zowona zomwe zimapezedwa kuchokera ku dongosololi pamodzi ndi ma vectors osiyanasiyana, mapeto / generalizations ndi kuwunika kwina kwa chowonadi cha malingaliro.
Mwayi mwachangu komanso wotsika mtengo kuyesa ma hypotheses ndikuwongolera malingaliro amalingaliro molingana ndi mwala wapangodya kukonza Chida chilichonse chowongolera chiyenera kukhala wolumikizana ndikuchepetsa malo osaka kapena, ngati pali chitsogozo chabodza, lolani wogwiritsa ntchito kubwerera ndikuyang'ana mbali ina yadongosolo. Chida changwiro chidzachita izi mwachangu, nthawi yomweyo kukopa chidwi cha wogwiritsa ntchito kumadera omwe angakhale ovuta.
Kalanga, traceview silingatchedwe chida chokhala ndi mawonekedwe ochezera. Zabwino kwambiri zomwe mungayembekezere mukazigwiritsa ntchito ndikupeza gwero la kuchuluka kwa latency ndikuyang'ana ma tag onse ndi zipika zomwe zikugwirizana nazo. Izi sizithandiza injiniya kuzindikira machitidwe mumsewu wamagalimoto, monga zenizeni za kuchedwa kwagawidwe, kapena kuzindikira kulumikizana pakati pa miyeso yosiyanasiyana. Generalized trace analysis zingathandize kuthana ndi ena mwa mavutowa. Zowona, pali zitsanzo kusanthula bwino pogwiritsa ntchito kuphunzira pamakina kuti muzindikire nthawi zosasangalatsa ndikuzindikira kagulu kakang'ono ka ma tag omwe angagwirizane ndi machitidwe odabwitsa. Komabe, sindinawonepo zowoneka bwino za kuphunzira kwamakina kapena zofukula zamigodi zomwe zimagwiritsidwa ntchito pazigawo zomwe ndizosiyana kwambiri ndi traceview kapena DAG (yowongolera acyclic graph).
Zipatso ndizochepa kwambiri
Vuto lalikulu ndi traceview ndiloti zipata ndi zoyambira zotsika kwambiri pakuwunika kwa latency komanso kusanthula kwa mizu. Zili ngati kugawa malamulo a purosesa kuti ayesetse kuthetsa zina, podziwa kuti pali zida zapamwamba kwambiri monga backtrace zomwe ndizosavuta kugwiritsa ntchito.
Kuphatikiza apo, nditenga ufulu wonena izi: kwenikweni, sitifunikira chithunzi chonse zidachitika panthawi yofunsira moyo, zomwe zimayimiridwa ndi zida zamakono zotsatirira. M'malo mwake, mawonekedwe ena apamwamba amafunikira omwe ali ndi chidziwitso cha zomwe zidalakwika (zofanana ndi kumbuyo), pamodzi ndi nkhani zina. M'malo mongoyang'ana zonse, ndimakonda kuziwona ΡΠ°ΡΡΡ, pamene chinthu chochititsa chidwi kapena chachilendo chimachitika. Pakali pano, kufufuza kukuchitika pamanja: injiniya amalandira kufufuza ndi kusanthula pawokha pawokha kufunafuna chinachake chochititsa chidwi. Mayendedwe a anthu omwe amayang'ana motalikirana m'malo amodzi ndikuyembekeza kuti azindikira zomwe akukayikitsa sikukulirakulira konse (makamaka ngati akuyenera kumvetsetsa metadata yonse yosungidwa m'malo osiyanasiyana, monga span ID, dzina la njira ya RPC, nthawi yayitali. 'a, zipika, ma tag, etc.).
Njira zina zowonera
Zotsatira za kufufuza ndizothandiza kwambiri pamene zingathe kuwonetsedwa m'njira yomwe imapereka chidziwitso chopanda kanthu pa zomwe zikuchitika mu magawo ogwirizana a dongosolo. Mpaka izi zitachitika, njira yochotsera vutoli imakhalabe ine ndipo zimatengera kuthekera kwa wogwiritsa ntchito kuzindikira kulumikizana koyenera, kuyang'ana mbali zolondola zadongosolo, kapena kuyika zidutswa za chithunzicho - mosiyana ndi chida, kuthandiza wogwiritsa ntchito kupanga malingaliro awa.
Ine sindine wojambula zithunzi kapena katswiri wa UX, koma mu gawo lotsatira ndikufuna kugawana malingaliro anga momwe zowonera izi zingawonekere.
Yang'anani pa mautumiki apadera
Pa nthawi yomwe makampani akuphatikizana mozungulira malingaliro SLO (zolinga za mlingo wa utumiki) ndi SLI (zizindikiro za msinkhu wa utumiki), zikuwoneka kuti ndizomveka kuti timu iliyonse iyenera kuika patsogolo kuonetsetsa kuti ntchito zawo zikugwirizana ndi zolingazi. Izo zimatsatira izo utumiki wokhazikika kuwonera ndi koyenera kwambiri kwa magulu otere.
Kutsata, makamaka popanda sampuli, ndi nkhokwe yachidziwitso cha gawo lililonse la dongosolo logawidwa. Chidziwitso ichi chikhoza kudyetsedwa kwa purosesa yochenjera yomwe idzapereke ogwiritsa ntchito utumiki wokhazikika Atha kudziwitsidwa pasadakhale - ngakhale wogwiritsa ntchito asanayang'ane zomwe zatsala:
Zithunzi za kuchedwa kugawa kwa milandu pamene zolinga za SLO za utumiki sizikukwaniritsidwa;
Ma tag "odziwika", "osangalatsa" ndi "odabwitsa" pamafunso omwe nthawi zambiri akubwerezedwa;
Kuwonongeka kwa latency kwa milandu yomwe Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ntchito sizikwaniritsa zolinga zawo za SLO;
Kuwonongeka kwa latency kwa mautumiki osiyanasiyana akumunsi.
Ena mwa mafunsowa samayankhidwa ndi ma metric omangidwira, kukakamiza ogwiritsa ntchito kuyang'ana nthawi yayitali. Zotsatira zake, tili ndi makina odana kwambiri ndi ogwiritsa ntchito.
Madivelopa am'manja, eni ntchito zopanda malire, eni ntchito zoyendetsedwa bwino (monga nkhokwe) ndi eni nsanja angakhale ndi chidwi ndi zina. ulaliki dongosolo logawa; traceview Ndi njira yanthawi zonse yothanirana ndi zosowa zosiyanasiyanazi. Ngakhale muzomangamanga zovuta kwambiri za microservice, eni ntchito safunikira chidziwitso chakuya cha mautumiki opitilira awiri kapena atatu kumtunda ndi kumunsi. Kwenikweni, muzochitika zambiri, ogwiritsa ntchito amangofunika kuyankha mafunso okhudza ntchito zochepa.
Zili ngati kuyang'ana kagawo kakang'ono ka mautumiki kupyolera mu galasi lokulitsa kuti mufufuze bwino. Izi zidzalola wogwiritsa ntchito kufunsa mafunso olimbikira kwambiri okhudzana ndi zovuta zomwe zimachitika pakati pa mautumikiwa ndi kudalira kwawo komweko. Izi ndizofanana ndi kubwereranso m'dziko lautumiki, komwe injiniya amadziwa kuti zolakwika, komanso amamvetsetsa zomwe zikuchitika mu mautumiki ozungulira kuti amvetsetse bwanji.
Njira yomwe ndikulimbikitsa ndi yosiyana kwambiri ndi njira yomwe ili pamwamba-pansi, yochokera ku traceview, kumene kusanthula kumayambira ndi kufufuza konse ndipo pang'onopang'ono kumagwira ntchito pazigawo zaumwini. Mosiyana ndi zimenezi, njira yopita pansi imayamba pofufuza malo ang'onoang'ono pafupi ndi zomwe zimayambitsa zochitikazo, ndikuwonjezera malo ofufuzira ngati pakufunika (ndi kuthekera kobweretsa magulu ena kuti afufuze mautumiki osiyanasiyana). Njira yachiwiri ndiyoyenera kuyesa mwachangu malingaliro oyambira. Zotsatira za konkire zikapezeka, zidzakhala zotheka kupitilira kusanthula kozama komanso mwatsatanetsatane.
Kupanga topology
Malingaliro okhudzana ndi ntchito amatha kukhala othandiza kwambiri ngati wogwiritsa akudziwa chimodzi ntchito kapena gulu la mautumiki liri ndi udindo wowonjezera kuchedwa kapena kuyambitsa zolakwika. Komabe, mu dongosolo lovuta, kuzindikira ntchito yolakwira kungakhale ntchito yosawerengeka panthawi yolephera, makamaka ngati palibe mauthenga olakwika omwe adanenedwa kuchokera ku mautumiki.
Kupanga topology yautumiki kungakhale kothandiza kwambiri kudziwa kuti ndi ntchito iti yomwe ikukumana ndi kuchuluka kwa zolakwika kapena kuwonjezeka kwa latency komwe kumapangitsa kuti ntchitoyo ikhale yonyozeka kwambiri. Ndikanena za kumanga topology, sindikutanthauza services map, kuwonetsa ntchito iliyonse yomwe ilipo mudongosolo komanso yodziwika bwino mapu a zomangamanga mu mawonekedwe a nyenyezi ya imfa. Kuwona uku sikuli bwino kuposa traceview kutengera ma acyclic graph. M'malo mwake ndikufuna kuwona dynamically anapangidwa utumiki topology, kutengera zina monga kuchuluka kwa zolakwika, nthawi yoyankha, kapena chilichonse chomwe chimafotokozedwa ndi ogwiritsa ntchito chomwe chimathandiza kumveketsa bwino zomwe zikuchitika ndi ntchito zina zokayikitsa.
Tiyeni titenge chitsanzo. Tiyeni tiyerekeze tsamba lankhani zongopeka. Ntchito yatsamba lanyumba (tsamba loyamba) amasinthanitsa deta ndi Redis, ndi ntchito yolangizira, ndi ntchito yotsatsa ndi mavidiyo. Ntchito yamakanema imatenga makanema kuchokera ku S3 ndi metadata kuchokera ku DynamoDB. Ntchito yolangizira imalandira metadata kuchokera ku DynamoDB, imanyamula deta kuchokera ku Redis ndi MySQL, ndikulemba mauthenga ku Kafka. Ntchito yotsatsa imalandira deta kuchokera ku MySQL ndikulemba mauthenga ku Kafka.
Pansipa pali chiwonetsero chazithunzi za topology iyi (mapulogalamu ambiri opangira malonda amapanga topology). Zitha kukhala zothandiza ngati mukufuna kumvetsetsa kudalira kwa ntchito. Komabe, mu nthawi yesetsani, pamene ntchito inayake (mwachitsanzo, kanema wa kanema) ikuwonetsa nthawi yowonjezereka yoyankhira, topology yotereyo siyothandiza kwambiri.
Chithunzi chautumiki cha tsamba lankhani zongoyerekeza
Chithunzi chomwe chili pansipa chingakhale choyenera. Pali vuto ndi ntchito (kanema) kuwonetsedwa pakati pomwe. Wogwiritsa amazindikira nthawi yomweyo. Kuchokera pazithunzizi, zikuwonekeratu kuti ntchito ya kanema ikugwira ntchito molakwika chifukwa cha kuwonjezeka kwa nthawi ya S3 yankho, zomwe zimakhudza kuthamanga kwa gawo la tsamba lalikulu.