Qaphela. transl.: Umbhali walokhu kwaziswa ngu-Cindy Sridharan, unjiniyela we-imgix ogxile ekuthuthukisweni kwe-API futhi, ikakhulukazi, ukuhlolwa kwe-microservice. Kulesi sihloko, wabelana ngombono wakhe onemininingwane yezinkinga zamanje emkhakheni wokulandelela okusatshalaliswa, lapho, ngokombono wakhe, kunokuntuleka kwamathuluzi asebenza kahle ngempela okuxazulula izinkinga ezicindezelayo.
[Umfanekiso uthathwe ku
Kukholakala ukuthi
Inselele enkulu ngokulandelela okusatshalalisiwe akukhona ukuqoqwa kwedatha, ukumisa amafomethi okusabalalisa nokwethulwa kwemiphumela, noma ukucacisa ukuthi isampula nini, kuphi, kanjani. Angizami ukucabanga -ncane lezi "zinkinga eziqondakalayo", empeleni, zibaluleke kakhulu futhi (uma sicabangela Umthombo Ovulekile ngempela)
Kodwa-ke, uma sicabanga ukuthi zonke lezi zinkinga ziyaxazululwa, maningi amathuba okuthi akukho okuzoshintsha kakhulu ngokwemibandela isipiliyoni somsebenzisi wokugcina. Ukulandelela kungase kuqhubeke kungasetshenziswa ezimweni ezivame kakhulu zokususa iphutha—ngisho nangemva kokuba sekukhishiwe.
Umkhondo onjalo ohlukile
Ukulandelela okusatshalalisiwe kuhlanganisa izingxenye eziningana ezihlukene:
- ukuhlomisa izinhlelo zokusebenza kanye ne-middleware ngamathuluzi okulawula;
- ukudluliswa kokuqukethwe okusabalalisiwe;
- ukuqoqwa kwemikhondo;
- landelela isitoreji;
- ukukhishwa kwabo kanye nokubonwa.
Izinkulumo eziningi mayelana nokulandela umkhondo okusabalalisiwe kuvame ukukuthatha njengohlobo lokusebenza okungajwayelekile okuwukuphela kwenjongo yokusiza ukuxilonga uhlelo ngokugcwele. Lokhu kudalwa kakhulu indlela imibono mayelana nokusatshalaliswa komkhondo eyakhiwe ngayo ngokomlando. IN
Qaphela. transl.: Ukwenza omunye umbhalo ube lula ukuqondwa, ake sichaze amagama amabili ayisisekelo ngokwe
- span - ingxenye eyisisekelo yokulandelela okusabalalisiwe. Kuyincazelo yokugeleza komsebenzi okuthile (isibonelo, umbuzo wesizindalwazi) enegama, izikhathi zokuqala nezokugcina, amathegi, amalogi nomongo.
- Ama-span ngokuvamile aqukethe izixhumanisi eziya kwezinye izikhala, ezivumela izikhala eziningi ukuthi zihlanganiswe zibe Ukulandelela - ukubona ngeso lengqondo impilo yesicelo njengoba sihamba ohlelweni olusabalalisiwe.
Ukulandelela kuqukethe idatha ebaluleke ngendlela emangalisayo engasiza ngemisebenzi efana nokuhlola ukukhiqiza, ukuhlola ukutakula kwenhlekelele, ukuhlolwa komjovo wephutha, njll. Eqinisweni, ezinye izinkampani sezivele zisebenzisa ukulandelela ngezinhloso ezifanayo. Ake siqale
- Isibonelo, i-Uber
isebenzisa ukulandelela imiphumela ukuze uhlukanise phakathi kwethrafikhi yokuhlola kanye nethrafikhi yokukhiqiza. - Facebook
isebenzisa landelela idatha yokuhlaziywa kwendlela ebalulekile kanye nokushintshwa kwethrafikhi phakathi nokuhlolwa okujwayelekile kokutakula inhlekelele. - Futhi inethiwekhi yokuxhumana
kuyasebenza Ama-notebook e-Jupyter avumela onjiniyela ukuthi baqhube imibuzo engasho lutho emiphumeleni yokulandela umkhondo. - Abalandeli
I-LDFI (Umjovo Wokuhluleka Oqhutshwa Ngomugqa)sebenzisa imikhondo esabalalisiwe ukuze ihlolwe ngomjovo wephutha.
Azikho izinketho ezibalwe ngenhla ezisebenza ngokuphelele kulesi simo lungisa iphutha, lapho unjiniyela ezama ukuxazulula inkinga ngokubheka umkhondo.
Uma ifika okwamanje ifinyelela kuskripthi sokususa iphutha, isixhumi esibonakalayo esiyinhloko sihlala siwumdwebo i-traceview (yize abanye beyibiza kanjalo "Ishadi le-Gantt" noma "Umdwebo wempophoma"). Ngaphansi i-traceview я
Inkinga ngazo zonke izinhlelo zokulandela umkhondo engizibonile kuze kube manje ukuthi umphumela ukubona ngeso (traceview) cishe ikhombisa ngokuphelele izici zenqubo yokukhiqiza umkhondo. Noma kuhlongozwa ukubonwa okuhlukile: amamephu okushisa, i-topology yesevisi, i-latency histograms, ekugcineni kwehla i-traceview.
Esikhathini esidlule I
Inkinga nge-traceview
Injongo i-traceview - hlinzeka ngesithombe esiphelele sokuhamba kwesicelo esisodwa kuzo zonke izingxenye zesistimu esabalalisiwe esihlobene nayo. Amanye amasistimu okulandelela athuthuke kakhudlwana akuvumela ukuthi ubhoboze ungene phakathi kwezinye futhi ubuke ukuhlukaniswa ngokuhamba kwesikhathi ngaphakathi inqubo eyodwa (lapho izikhala zinemingcele yokusebenza).
Isisekelo esiyisisekelo se-microservices architecture umqondo wokuthi isakhiwo senhlangano sikhula nezidingo zenkampani. Abasekeli bezinsizakalo ezincane baphikisa ngokuthi ukusabalalisa imisebenzi ehlukahlukene yebhizinisi kumasevisi angawodwana kuvumela amaqembu amancane, azimele wokuthuthukisa ukuthi alawule umjikelezo wokuphila walezi zinsizakalo, okuwanikeza ikhono lokwakha ngokuzimela, ukuhlola, nokusebenzisa lawo masevisi. Kodwa-ke, okubi kwalokhu kusatshalaliswa ukulahlekelwa ulwazi mayelana nokuthi isevisi ngayinye isebenzisana kanjani nezinye. Ezimweni ezinjalo, izimangalo zokulandelela ezisabalalisiwe ziyithuluzi elibalulekile lungisa iphutha ukusebenzisana okuyinkimbinkimbi phakathi kwamasevisi.
Uma ngempela
Nokho, i-traceview okungukuthi Lokhu. Yebo, amanye amasistimu okulandelela anikeza ukubuka okucindezelwe lapho inani lezikhala ekulandeleleni likhulu kangangokuthi azikwazi ukuboniswa ekubukeni okukodwa. Kodwa-ke, ngenxa yolwazi oluningi oluqukethwe ngisho nalokhu kubonwa okuphundulwe phansi, onjiniyela basalokhu ngenkani “sefa”, unciphisa ukukhetha kube yisethi yamasevisi okuyimithombo yezinkinga. Ngeshwa, kulo mkhakha, imishini ishesha kakhulu kunabantu, ayinawo amaphutha, futhi imiphumela yawo iphindaphindeka.
Esinye isizathu esenza ngicabange ukuthi i-traceview ayilungile yingoba ayilungele ukulungisa iphutha eliqhutshwa yi-hypothesis. Empeleni, ukulungisa iphutha okuphindaphindayo inqubo eqala nge-hypothesis, elandelwa ukuqinisekiswa kokuqashelwa okuhlukahlukene namaqiniso atholwe ohlelweni ngokuhambisana nama-vectors ahlukene, iziphetho/ukwenza okuvamile kanye nokuhlolwa okwengeziwe kweqiniso le-hypothesis.
Ithuba ngokushesha futhi ezishibhile ukuhlola okucatshangwayo kanye nokwenza ngcono imodeli yengqondo ngokufanele itshe legumbi ukulungisa iphutha Noma yiliphi ithuluzi lokususa iphutha kufanele libe interactive futhi unciphise isikhala sokusesha noma, esimweni sokuhola okungamanga, vumela umsebenzisi ukuthi abuyele emuva futhi agxile endaweni ehlukile yesistimu. Ithuluzi eliphelele lizokwenza lokhu ngokuqhubekayo, ngokushesha idonsela ukunaka komsebenzisi ezindaweni ezingaba izinkinga.
Maye, i-traceview ayikwazi ukubizwa ngokuthi ithuluzi elinokuxhumana okusebenzisanayo. Okungcono kakhulu ongathembela kukho uma uyisebenzisa ukuthola umthombo othile we-latency eyengeziwe futhi ubheke wonke amathegi namalogi ahlobene nawo. Lokhu akumsizi unjiniyela ukuthi abone amaphethini kuthrafikhi, njengokucaciswa kokusatshalaliswa kokulibaziseka, noma ukuthola ukuhlobana phakathi kwezilinganiso ezihlukene.
Ama-spans asezingeni eliphansi kakhulu
Inkinga esemqoka nge-traceview ukuthi ama-spans zingamaprimitives anezinga eliphansi kakhulu kukho kokubili ukuhlaziya ukubambezeleka kanye nokuhlaziywa kwembangela. Kufana nokuhlaziya imiyalo yephrosesa ngayinye ukuze uzame ukuxazulula okuhlukile, wazi ukuthi kunamathuluzi aphezulu kakhulu afana ne-backtrace alula kakhulu ukusebenza nawo.
Ngaphezu kwalokho, ngizothatha inkululeko yokugomela okulandelayo: kahle, asidingi isithombe esigcwele kwenzeke ngesikhathi somjikelezo wokuphila wesicelo, esimelelwa amathuluzi esimanje okulandelela. Kunalokho, uhlobo oluthile lokungafinyeleli lwezinga eliphezulu luyadingeka oluqukethe ulwazi mayelana nokuthi yini ahambanga kahle (efana ne-backtrace), kanye nomongo othile. Esikhundleni sokubuka wonke umkhondo, ngincamela ukuwubona часть, lapho kwenzeka okuthile okuthakazelisayo noma okungajwayelekile. Njengamanje, ukusesha kwenziwa ngesandla: unjiniyela uthola umkhondo futhi azihlaziye ngokuzimela izikhala efuna okuthile okuthakazelisayo. Indlela yabantu abagqolozele ama-spans emilandeleni ngayinye ngethemba lokuthola umsebenzi osolisayo ayilingani nhlobo (ikakhulukazi uma kufanele benze umqondo wayo yonke imethadatha efakwe ngekhodi ngezikhathi ezihlukene, njenge-span ID, igama lendlela ye-RPC, ubude besikhathi 'a, izingodo, amathegi, njll.).
Ezinye izindlela zokulandelela
Imiphumela yokulandelela iwusizo kakhulu uma ingabonwa ngendlela enikeza ukuqonda okungeyona into encane kulokho okwenzeka ezingxenyeni ezixhumene zesistimu. Kuze kube lokhu kwenzeka, inqubo yokususa iphutha ihlala njalo ongenayo futhi kuncike emandleni omsebenzisi okubona ukuhlobana okulungile, ukuhlola izingxenye ezifanele zesistimu, noma ukuhlanganisa izingcezu zendida - ngokuphambene insimbi, esiza umsebenzisi ukuthi akhe le mibono.
Angiyena umklami obonakalayo noma uchwepheshe we-UX, kodwa esigabeni esilandelayo ngifuna ukwabelana ngemibono embalwa yokuthi lokhu kuboniswa kungase kubukeke kanjani.
Gxila kumasevisi athile
Ngesikhathi lapho imboni ihlanganisa imibono
Imikhondo, ikakhulukazi ngaphandle kwamasampula, iyinqolobane yolwazi mayelana nengxenye ngayinye yesistimu esabalalisiwe. Lolu lwazi lunganikezwa iprosesa enobuqili ezohlinzeka abasebenzisi okuqondiswe kwisevisi okutholiwe. Zingabonakala kusenesikhathi - nangaphambi kokuba umsebenzisi abheke imikhondo:
- Imidwebo yokusabalalisa ukubambezeleka kuphela kwezicelo ezivelele kakhulu (izicelo zangaphandle);
- Imidwebo yokulibaziseka kokusatshalaliswa kwamacala lapho imigomo yesevisi ye-SLO ingafinyelelwa;
- Omaka “abavamile”, “abathakazelayo” kanye “nabaxakayo” emibuzweni evamise ukuvela ziyaphindwa;
- Ukuhlukaniswa kokubambezeleka kwezimo lapho ukuthembela izinsizakalo azifinyeleli izinhloso zazo ze-SLO;
- Ukuhlukaniswa kokubambezeleka kwamasevisi ahlukahlukene omfula.
Eminye yale mibuzo ayiphendulwa nje ngamamethrikhi akhelwe ngaphakathi, okuphoqa abasebenzisi ukuthi bahlolisise izikhala. Ngenxa yalokho, sinendlela enobutha kakhulu abasebenzisi.
Lokhu kuphakamisa umbuzo: kuthiwani mayelana nokusebenzisana okuyinkimbinkimbi phakathi kwezinsizakalo ezihlukahlukene ezilawulwa amaqembu ahlukene? Akunjalo i-traceview akubhekwa njengethuluzi elifaneleka kakhulu lokugqamisa isimo esinjalo?
Onjiniyela bamaselula, abanikazi bezinsizakalo ezingenasisekelo, abanikazi bezinsizakalo eziphathwayo ezilawulwayo (njengemininingwane yolwazi) nabanikazi bezinkundla bangase babe nentshisekelo kokunye. isethulo uhlelo olusabalalisiwe; i-traceview iyisixazululo esijwayelekile kakhulu kulezi zidingo ezihluke kakhulu. Ngisho nasekwakhiweni kwe-microservice eyinkimbinkimbi kakhulu, abanikazi besevisi abadingi ulwazi olujulile lwezinsizakalo ezingaphezu kwezimbili noma ezintathu ezikhuphuka nomfula. Empeleni, ezimweni eziningi, abasebenzisi badinga kuphela ukuphendula imibuzo ephathelene isethi elinganiselwe yamasevisi.
Kufana nokubheka isethi encane yezinsizakalo ngengilazi yokukhulisa ukuze uthole ukuyihlolisisa. Lokhu kuzovumela umsebenzisi ukuthi abuze imibuzo ecindezela kakhulu mayelana nokusebenzisana okuyinkimbinkimbi phakathi kwalezi zinsizakalo kanye nokuncika kwazo ngokushesha. Lokhu kufana ne-backtrace emhlabeni wezinsizakalo, lapho unjiniyela azi khona lokho okungalungile, futhi unokuqonda okuthile kokuthi kwenzekani ezinsizeni ezizungezile ukuze akuqonde kungani.
Indlela engiyiphromothayo iphambene ncamashi nendlela yokusuka phezulu kuya phansi, esekelwe ekuhloleni ukulandelela, lapho ukuhlaziya kuqala ngawo wonke umkhondo bese kancane kancane kuqhubeke kuze kufike esibayeni ngasinye. Ngokuphambene, indlela eya phansi iqala ngokuhlaziya indawo encane eseduze nembangela yesigameko, bese yandisa indawo yokusesha njengoba kudingeka (ngokunamandla okuletha amanye amaqembu ukuze ahlaziye ububanzi obubanzi bezinsizakalo). Indlela yesibili ifaneleka kangcono ekuhloleni ngokushesha imibono yokuqala. Uma sekutholakele imiphumela ebambekayo, kuzokwaziwa ukuqhubekela phambili ekuhlaziyeni okugxile kakhulu nokunemininingwane.
Ukwakha i-topology
Ukubuka okuqondene nesevisi kungaba wusizo ngendlela emangalisayo uma umsebenzisi azi какой isevisi noma iqembu lezinsizakalo linesibopho sokukhulisa ukubambezeleka noma ukudala amaphutha. Kodwa-ke, ohlelweni oluyinkimbinkimbi, ukuhlonza isevisi ehlukumezayo kungase kube umsebenzi ongewona omncane ngesikhathi sokwehluleka, ikakhulukazi uma ingekho imilayezo yephutha ebikiwe evela kumasevisi.
Ukwakha i-topology yesevisi kungaba usizo olukhulu ekutholeni ukuthi iyiphi isevisi ebhekene nokukhuphuka kwamazinga amaphutha noma ukwanda kokubambezeleka okwenza isevisi yehle ngokuphawulekayo. Uma ngikhuluma ngokwakha i-topology, angiqondile imephu yezinsizakalo, ukubonisa yonke isevisi etholakala ohlelweni futhi eyaziwa ngayo
Ake sithathe isibonelo. Ake sicabange ngendawo yezindaba eqanjiwe. Isevisi yekhasi lasekhaya (ikhasi lokuqala) ishintshisana ngedatha ne-Redis, enesevisi yokuncoma, enesevisi yokukhangisa nesevisi yevidiyo. Isevisi yevidiyo ithatha amavidiyo ku-S3 kanye nemethadatha ku-DynamoDB. Isevisi yokuncoma ithola imethadatha evela ku-DynamoDB, ilayisha idatha esuka ku-Redis ne-MySQL, futhi ibhala imilayezo ku-Kafka. Isevisi yokukhangisa ithola idatha evela ku-MySQL futhi ibhala imilayezo ku-Kafka.
Ngezansi ukuvezwa kohlelo lwale topology (izinhlelo eziningi zemizila yezohwebo zakha i-topology). Kungaba usizo uma udinga ukuqonda ukuncika kwesevisi. Nokho, ngesikhathi lungisa iphutha, lapho isevisi ethile (ithi, isevisi yevidiyo) ibonisa isikhathi esingeziwe sokuphendula, i-topology enjalo ayisizi kakhulu.
Umdwebo wesevisi wesayithi lezindaba eziqanjiwe
Umdwebo ongezansi uzofaneleka kangcono. Kunenkinga ngesevisi (ividiyo) kuboniswe phakathi nendawo. Umsebenzisi uyayibona ngokushesha. Kusukela kulokhu kuboniswa, kuyacaca ukuthi isevisi yevidiyo isebenza ngendlela engavamile ngenxa yokwenyuka kwesikhathi sokuphendula se-S3, esithinta isivinini sokulayisha sengxenye yekhasi eliyinhloko.
I-Dynamic topology ibonisa izinsiza “ezithakaselayo” kuphela
Ama-topology akhiqizwa ngamandla angasebenza kahle kakhulu kunamamephu esevisi amile, ikakhulukazi kungqalasizinda enwebekayo, yokukala ngokuzenzakalela. Amandla okuqhathanisa nokuqhathanisa ama-topology esevisi avumela umsebenzisi ukuthi abuze imibuzo efaneleke kakhulu. Imibuzo enembe kakhulu mayelana nesistimu cishe izoholela ekuqondeni kangcono ukuthi uhlelo lusebenza kanjani.
Isibonisi sokuqhathanisa
Okunye ukubonwa okuwusizo kungaba isibonisi sokuqhathanisa. Okwamanje imikhondo ayifaneleki kakhulu ukuqhathaniswa kwezinhlangothi, ngakho-ke ukuqhathanisa kuvame ama-spans. Futhi umqondo oyinhloko wale ndatshana ukuthi izikhala zisezingeni eliphansi kakhulu ukuze kukhishwe ulwazi olubaluleke kakhulu emiphumeleni yokulandela umkhondo.
Ukuqhathanisa amathrekhi amabili akudingi ukubonwa okusha. Eqinisweni, into efana ne-histogram emele ulwazi olufanayo njenge-traceview yanele. Ngokumangalisayo, ngisho le ndlela elula ingaletha izithelo eziningi kunokufunda imikhondo emibili ngokuhlukana. Okunamandla nakakhulu kungaba nokwenzeka bona ngeso lengqondo ukuqhathanisa iminonjana Sekukonke. Kungaba usizo kakhulu ukubona ukuthi ukuguqulwa kokulungiswa kwesizindalwazi esisanda kukhishwa ukuze kunikwe amandla i-GC (ukuqoqwa kukadoti) kusithinta kanjani isikhathi sokuphendula sesevisi engezansi esikalini samahora ambalwa. Uma engikuchazayo lapha kuzwakala njengokuhlaziywa kwe-A/B komthelela wezinguquko zengqalasizinda ezinkonzweni eziningi usebenzisa imiphumela yokulandela umkhondo, lapho-ke awukude kakhulu neqiniso.
isiphetho
Angingabazi ukuba wusizo kokulandela umkhondo ngokwako. Ngikholelwa ngobuqotho ukuthi ayikho enye indlela yokuqoqa idatha ecebile, eyimbangela kanye nengqikithi njengaleyo equkethwe umkhondo. Kodwa-ke, ngikholelwa futhi ukuthi zonke izixazululo zokulandelela zisebenzisa le datha ngendlela engafanele kakhulu. Uma nje amathuluzi okulandelela ehlala ebambekile ekumelelweni kwe-traceview, azokhawulelwa ekhonweni lawo lokusebenzisa ngokugcwele ulwazi olubalulekile olungakhishwa kudatha equkethwe ekulandeleleni. Ngaphezu kwalokho, kunobungozi bokuqhubeka nokuthuthukisa isixhumi esibonakalayo esingenabungane ngokuphelele futhi esingaqondakali esizokhawulela kakhulu ikhono lomsebenzisi lokuxazulula amaphutha kuhlelo lokusebenza.
Ukulungisa amasistimu ayinkimbinkimbi, ngisho nangamathuluzi akamuva, kunzima ngendlela emangalisayo. Amathuluzi kufanele asize umthuthukisi ukuthi akhe futhi ahlole i-hypothesis, ukuhlinzeka ngenkuthalo ulwazi olufanele, ukuhlonza abangaphandle kanye nezici eziphawulayo ekusabalaliseni ukubambezeleka. Ukuze ukulandelela kube ithuluzi elikhethwa onjiniyela lapho kuxazululwa ukwehluleka kokukhiqiza noma ukuxazulula izinkinga ezihlanganisa amasevisi amaningi, ukuxhumana kwangempela komsebenzisi nokuboniswa kuyadingeka okuhambisana kakhulu nemodeli yengqondo yonjiniyela abadala futhi basebenzise lawo masevisi.
Kuzodingeka umzamo omkhulu wengqondo ukuklama uhlelo oluzomela izimpawu ezihlukahlukene ezitholakalayo emiphumeleni yokulandela umkhondo ngendlela elungiselelwe ukuze kube lula ukuhlaziya nokucabanga. Kudingeka ucabange ukuthi ungayikhipha kanjani i-topology yesistimu ngesikhathi sokulungisa iphutha ngendlela esiza umsebenzisi ukuthi anqobe izindawo ezingaboni ngaphandle kokubheka iminonjana noma ububanzi.
Sidinga amakhono amahle wokuthatha kanye nokwenza izendlalelo (ikakhulukazi ku-UI). Ezingangena kahle enqubweni yokususa iphutha eqhutshwa yi-hypothesis lapho ungakwazi ukubuza imibuzo ngokuphindaphindiwe futhi uhlole imibono. Ngeke baxazulule ngokuzenzakalela zonke izinkinga zokubonakala, kodwa bazosiza abasebenzisi balole umuzwa wabo futhi benze imibuzo ehlakaniphile. Ngicela indlela ecatshangelwayo kanye nentsha yokubuka ngeso lengqondo. Kukhona ithemba langempela lapha lokwandisa ama-horizons.
I-PS evela kumhumushi
Funda futhi kubhulogi yethu:
- «
i-plugin ye-kubectl-debug yokususa iphutha kuma-pods e-Kubernetes "; - «
Ama-Microservices: Usayizi ubalulekile, noma ngabe une-Kubernetes "; - «
Ukuqapha kanye ne-Kubernetes (isibuyekezo kanye nombiko wevidiyo) ".
Source: www.habr.com