有哪些設(shè)計(jì)網(wǎng)站佛山百度推廣電話
這里的鏈路指的是客戶端向服務(wù)發(fā)起一個(gè)請(qǐng)求,該請(qǐng)求所經(jīng)過的路線,也可以說是該請(qǐng)求經(jīng)過的流量
例如:
客戶端發(fā)起一個(gè)下訂單的請(qǐng)求其流量過程:
request—>service—>order-web—>order_srv—>mysql—>order_srv—>order-web—>service—>response
這就一個(gè)請(qǐng)求的完整鏈路
鏈路追蹤
指我們通過一些手段將鏈路進(jìn)行監(jiān)控, 對(duì)于系統(tǒng)調(diào)試和維護(hù)鏈路追蹤是非常重要的,
尤其微服務(wù)中,我們知道各個(gè)微服務(wù)部署在不同的服務(wù)器上,并且每一個(gè)微服務(wù)可能是不同的人開發(fā)的,如果我們不做鏈路追蹤,微服務(wù)之間相互調(diào)用,假如有的微服務(wù)出問題了,整個(gè)系統(tǒng)都會(huì)受影響,
那么我們?cè)趺粗朗悄囊粋€(gè)微服務(wù)出的問題,找誰(shuí)維護(hù)等一系列問題。
目前比較流行的Tracing開源方案Jaeger進(jìn)行實(shí)踐,使用jaeger-client-go這個(gè)庫(kù)作為client
github地址:GitHub - jaegertracing/jaeger-client-go: Jaeger Bindings for Go OpenTracing API.
官方文檔的demo:example
首先,本地起一個(gè)jaeger服務(wù)作為測(cè)試用的服務(wù)端,官方提供了”All in One”的docker鏡像, 啟動(dòng)Jaeger服務(wù)只需要一行代碼:
docker run -d --name jaeger \-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \-p 5775:5775/udp \-p 6831:6831/udp \-p 6832:6832/udp \-p 5778:5778 \-p 16686:16686 \-p 14268:14268 \-p 9411:9411 \jaegertracing/all-in-one:1.12