Timagwiritsa ntchito kamangidwe ka microservice muma projekiti athu. Zikavuta kugwira ntchito, nthawi yochuluka imathera pakuwunika ndi kugawa zipika. Mukalowetsa nthawi ya zochitika za munthu aliyense pa fayilo ya chipika, nthawi zambiri zimakhala zovuta kumvetsetsa zomwe zidapangitsa kuti ntchitoyi ichitike, kutsata ndondomeko ya zochitika kapena kusintha kwa nthawi ya ntchito imodzi yokhudzana ndi ina mu mautumiki osiyanasiyana.
Zitha kuwoneka kuti, mwachitsanzo, Pempho lidabwera ku ntchito ya WS -> ntchito ya WS idawonjezera deta kudzera mu R service -> kenako idatumiza pempho ku V service -> V service idanyamula zambiri kuchokera ku R. service -> anapita ku P service -> utumiki wa P unapitanso ku utumiki R -> utumiki V unanyalanyaza zotsatira zake ndikupita ku utumiki J -> ndipo kenako anabwezera yankho ku utumiki WS, ndikupitiriza kuwerengera china chake mu maziko.
Popanda kufufuza koteroko kapena zolemba zambiri za ndondomeko yonseyi, n'zovuta kumvetsa zomwe zikuchitika mukamawona kachidindo kwa nthawi yoyamba, ndipo kachidindo kameneka kamamwazikana m'mautumiki osiyanasiyana ndikubisidwa kuseri kwa nkhokwe ndi ma interfaces.
Kusonkhanitsa zambiri za mtengo wakupha kuti muwunike motsatira. Pa gawo lililonse la kuphedwa, mutha kuwonjezera zidziwitso pazotsatira zomwe zikupezeka pakadali pano ndikuwona zomwe zidapangitsa kuti zikhale zofanana. Mwachitsanzo:
Dzina Lolowera
Ufulu
Mtundu wa njira yosankhidwa
Kulakwitsa kwa log kapena kukonza
Kusandutsa zotsatila kukhala kagawo kakang'ono ka ma metrics ndi kusanthula kwina komwe kuli kale mu mawonekedwe a ma metrics.
Zomwe mungalembe. Span
Potsata pali lingaliro la span, iyi ndi analogue ya chipika chimodzi, ku console. Spa ili ndi:
Dzina, nthawi zambiri dzina la njira yomwe idachitidwa
Dzina la ntchito yomwe nthawi yayitali idapangidwira
ID yanu yapadera
Mtundu wina wa chidziwitso cha meta mumtundu wa kiyi / mtengo womwe walowetsedwamo. Mwachitsanzo, magawo a njira kapena njirayo inatha ndi cholakwika kapena ayi
Nthawi zoyambira ndi zomaliza za nthawi iyi
ID ya makolo
Nthawi iliyonse imatumizidwa kwa osonkhanitsa span kuti isungidwe mu database kuti iwunikenso pambuyo pake ikangomaliza kuphedwa. M'tsogolomu, mutha kupanga mtengo wamitundu yonse polumikiza ndi id ya makolo. Mukasanthula, mutha kupeza, mwachitsanzo, nthawi zonse muutumiki wina zomwe zidatenga nthawi yayitali. Kupitilira apo, popita kunthawi yayitali, onani mtengo wonsewo pamwamba ndi pansi pa chitalikirachi.
Opentrace, Jagger ndi m'mene tidazigwiritsira ntchito pama projekiti athu
Pali muyezo wamba opentrace, yomwe imalongosola momwe ndi zomwe ziyenera kusonkhanitsidwa, popanda kumangirizidwa ndikutsata ndondomeko yeniyeni m'chinenero chilichonse. Mwachitsanzo, ku Java, ntchito zonse zokhala ndi zizindikiro zimachitika kudzera pa Opentrace API wamba, ndipo pansi pake, mwachitsanzo, Jaeger kapena kukhazikitsa kopanda kanthu komwe sikungabisike.
Tikugwiritsa ntchito Mlenje ngati kukhazikitsa Opentrace. Zili ndi zigawo zingapo:
Pamapulogalamu okhala ndi ulusi wambiri, palinso TracedExecutorService ndi zokutira zofananira zomwe zimangopititsa patsogolo ulusi pomwe ntchito za asynchronous zimayambitsidwa:
private ExecutorService executor = new TracedExecutorService(
Executors.newFixedThreadPool(10), GlobalTracer.get()
);
Yesani ndi zothandizira sizikugwira ntchito mu groovy, muyenera kugwiritsa ntchito kuyesa pomaliza.
Utumiki uliwonse uyenera kukhala ndi spring.application.name yake yomwe zizindikiro zidzalowetsedwa. Kodi dzina losiyana kugulitsa ndi mayeso, kuti kusokoneza iwo pamodzi.
Ngati mumagwiritsa ntchito GlobalTracer ndi tomcat, ndiye kuti mautumiki onse omwe akuyendetsa mu tomcat iyi ali ndi GlobalTracer imodzi, kotero onse adzakhala ndi dzina lofanana la utumiki.
Pitani ku chimodzi mwazotsatira ndikuwona zomwe zikucheperachepera pamenepo.
Komanso, ngati id yopempha imadziwika, ndiye kuti mutha kupeza tsatanetsatane ndi id iyi kudzera mukusaka kwama tag, ngati id iyi yalowetsedwa mumayendedwe.