亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

使用Envoy 作Sidecar Proxy的微服務(wù)模式-3.分布式追蹤

Fundebug / 1058人閱讀

摘要:在第三部分中,我們將了解如何在服務(wù)網(wǎng)格中啟用分布式跟蹤。在此部署模型中,被部署為服務(wù)的在本例中為客戶(hù)端。會(huì)在服務(wù)調(diào)用之間添加一些追蹤,并發(fā)送到或您的跟蹤提供商目前支持和。這些示例的上游服務(wù)是。

本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。

這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接):

斷路器(第一部分)

重試/超時(shí)(第二部分)

分布式跟蹤(第三部分)

Prometheus的指標(biāo)收集(第四部分)

rate limiter(第五部分)

第三部分 - 使用envoy proxy 實(shí)現(xiàn)分布式追蹤

第一篇博文向您介紹了Envoy Proxy的斷路功能實(shí)現(xiàn)。在第二部分中,仔細(xì)研究了如何啟用額外的彈性功能,如超時(shí)和重試。在第三部分中,我們將了解如何在服務(wù)網(wǎng)格中啟用分布式跟蹤。有意進(jìn)行一些簡(jiǎn)單的演示,因此我可以多帶帶說(shuō)明模式和用法。請(qǐng)下載此演示的源代碼并按照說(shuō)明進(jìn)行操作!

該演示由一個(gè)客戶(hù)端和一個(gè)服務(wù)組成。客戶(hù)端是一個(gè)Java http應(yīng)用程序,模擬對(duì)“上游”服務(wù)進(jìn)行http調(diào)用(注意,我們?cè)谶@里使用Envoys術(shù)語(yǔ),并貫穿整個(gè)repo)??蛻?hù)端打包在docker.io/ceposta/http-envoy-client:latest的Docker鏡像中。除了http-client Java應(yīng)用程序之外,還有Envoy Proxy的一個(gè)實(shí)例。在此部署模型中,Envoy被部署為服務(wù)的sidercar(在本例中為http客戶(hù)端)。當(dāng)http-client進(jìn)行出站調(diào)用(到“上游”服務(wù))時(shí),所有調(diào)用都通過(guò)Envoy Proxy sidercar。envoy會(huì)在服務(wù)調(diào)用之間添加一些追蹤headers,并發(fā)送到Zipkin(或您的跟蹤提供商...... Envoy目前支持Zipkin和Lightstep)。

這些示例的“上游”服務(wù)是httpbin.org。 httpbin.org允許我們輕松模擬HTTP服務(wù)行為。它很棒,所以如果你沒(méi)有看到它,請(qǐng)查看它。

這個(gè)traceing 演示有自己的envoy.json配置文件。我絕對(duì)建議您查看配置文件每個(gè)部分的參考文檔,以幫助理解完整配置。 datawire.io的優(yōu)秀人員也為Envoy及其配置提供了一個(gè)很好的介紹,你也應(yīng)該檢查一下。

運(yùn)行 tracing demo

對(duì)于跟蹤演示,我們將使用以下如下的配置來(lái)配置我們的Envoy(請(qǐng)參閱其余上下文的完整配置):

   "tracing": {
      "operation_name": "egress"
    },
    
    ...
    
      "tracing": {
        "http": {
          "driver": {
            "type": "zipkin",
            "config": {
              "collector_cluster": "zipkin",
              "collector_endpoint": "/api/v1/spans"
            }
          }
        }
      },
      
      ...
      
       {
          "name": "zipkin",
          "connect_timeout_ms": 1000,
          "type": "strict_dns",
          "lb_type": "round_robin",
          "hosts": [
            {
              "url": "tcp://zipkin:9411"
            }
          ]
        }
    

這里我們配置跟蹤驅(qū)動(dòng)程序和跟蹤集群。在這種情況下,要運(yùn)行此演示,我們需要啟動(dòng)Zipkin服務(wù)器:

首先我們停止已經(jīng)存在的演示demo:

./docker-stop.sh

啟動(dòng)zipkin服務(wù):

./tracing/docker-run-zipkin.sh

會(huì)將zipkin暴露在端口9411上。如果您使用minikube或類(lèi)似的東西來(lái)運(yùn)行這些演示,您可以直接將minikube端口導(dǎo)出到您的主機(jī),如下所示:

./port-forward-minikube.sh 9411

一旦你啟動(dòng)并運(yùn)行Zipkin,訪問(wèn)該服務(wù)(即,在minikube上,在進(jìn)行端口轉(zhuǎn)發(fā)后,它將只是http:// localhost:9411)。你應(yīng)該看看Zipkin:

現(xiàn)在我們已經(jīng)啟動(dòng)了zipkin服務(wù)器,讓我們啟動(dòng)我們的跟蹤演示:

/docker-run.sh -d tracing

然后讓我們用客戶(hù)端訪問(wèn)服務(wù):

./curl.sh -vvvv localhost:15001/get

我們將看到如下的輸出:

< HTTP/1.1 200 OK
* Server envoy is not blacklisted
< server: envoy
< date: Thu, 25 May 2017 06:31:02 GMT
< content-type: application/json
< access-control-allow-origin: *
< access-control-allow-credentials: true
< x-powered-by: Flask
< x-processed-time: 0.000982999801636
< content-length: 402
< via: 1.1 vegur
< x-envoy-upstream-service-time: 142
< 
{
  "args": {}, 
  "headers": {
    "Accept": "*/*", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "User-Agent": "curl/7.35.0", 
    "X-B3-Sampled": "1", 
    "X-B3-Spanid": "0000b825f82b418d", 
    "X-B3-Traceid": "0000b825f82b418d", 
    "X-Ot-Span-Context": "0000b825f82b418d;0000b825f82b418d;0000000000000000;cs"
  }, 
  "origin": "68.3.84.124", 
  "url": "http://httpbin.org/get"
}

現(xiàn)在,如果我們轉(zhuǎn)到Zipkin服務(wù)器,我們應(yīng)該看到此調(diào)用的單個(gè)跨度/跟蹤(注意,您可能需要調(diào)整zipkin過(guò)濾器中的開(kāi)始/停止時(shí)間:

這里我們有一個(gè)只有一個(gè)span的跟蹤(這是我們所期望的,因?yàn)槲覀兊腅nvoy演示客戶(hù)端直接與沒(méi)有Envoy的外部服務(wù)調(diào)用......如果上游服務(wù)也有啟用了zipkin的Envoy,我們將看到服務(wù)之間的全部span)。

如果我們點(diǎn)擊span以查看更多細(xì)節(jié),我們會(huì)看到如下內(nèi)容:

PS

請(qǐng)注意,服務(wù)體系結(jié)構(gòu)中的每個(gè)服務(wù)都應(yīng)該與Envoy一起部署并參與分布式跟蹤。這種方法的優(yōu)點(diǎn)在于跟蹤是從應(yīng)用程序帶外進(jìn)行的。但是,為了跟蹤要正確傳播的上下文,應(yīng)用程序開(kāi)發(fā)人員有責(zé)任正確傳播正確的header,以便不同的span正確關(guān)聯(lián)。檢查zipkin以獲取更多詳細(xì)信息,但至少要傳播這些header(如上所示):

x-request-id

x-b3-traceid

x-b3-spanid

x-b3-parentspanid

x-b3-sampled

x-b3-flags

x-ot-span-context

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/33139.html

相關(guān)文章

  • 使用Envoy Sidecar Proxy的微服務(wù)模式-1.熔斷

    摘要:我們將直接向發(fā)送流量,以使其幫幫助處理熔斷。讓我們調(diào)用我們的服務(wù)我們將看到以下的輸出我們也能看到我們五次的調(diào)用成功了。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)...

    NotFound 評(píng)論0 收藏0
  • 使用Envoy Sidecar Proxy的微服務(wù)模式-1.熔斷

    摘要:我們將直接向發(fā)送流量,以使其幫幫助處理熔斷。讓我們調(diào)用我們的服務(wù)我們將看到以下的輸出我們也能看到我們五次的調(diào)用成功了。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)...

    Drummor 評(píng)論0 收藏0
  • 使用Envoy Sidecar Proxy的微服務(wù)模式-5.rate limiter

    摘要:為安裝過(guò)濾器的偵聽(tīng)器上的每個(gè)新請(qǐng)求調(diào)用服務(wù),路由表指定應(yīng)調(diào)用服務(wù)。使用了令牌桶算法來(lái)限流。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接): 斷路器(第一部分) 重試/超時(shí)(第二部分) 分布式跟蹤(第三部分) Prometheus的指標(biāo)收集(第四部分) rate ...

    CocoaChina 評(píng)論0 收藏0
  • 使用Envoy Sidecar Proxy的微服務(wù)模式-2.超時(shí)和重試

    摘要:在第二部分中,我們將詳細(xì)介紹如何啟用其他彈性功能,如超時(shí)和重試。在此部署模型中,被部署為服務(wù)的在本例中為客戶(hù)端。這些示例的上游服務(wù)是。它們可以幫助傳播故障或?qū)赡苷趻暝膬?nèi)部服務(wù)造成類(lèi)型攻擊。此延遲應(yīng)足以觸發(fā)超時(shí)。 本博客是深入研究Envoy Proxy和Istio.io 以及它如何實(shí)現(xiàn)更優(yōu)雅的方式來(lái)連接和管理微服務(wù)系列文章的一部分。 這是接下來(lái)幾個(gè)部分的想法(將在發(fā)布時(shí)更新鏈接):...

    vibiu 評(píng)論0 收藏0
  • 華爾街見(jiàn)聞基于istio的服務(wù)網(wǎng)格實(shí)踐

    摘要:,托管于騰訊云容器平臺(tái)容器編排工具。適配我們目前的服務(wù)部署在騰訊云托管,節(jié)點(diǎn)使用核的網(wǎng)絡(luò)增強(qiáng)型機(jī)器,所有的后端服務(wù)都以部署,集群外部署高可用支持集群內(nèi)服務(wù)發(fā)現(xiàn),數(shù)據(jù)庫(kù)以為主,消息隊(duì)列采用。 距離2017年的見(jiàn)聞技術(shù)架構(gòu)調(diào)整接近2年,隨著業(yè)務(wù)線的發(fā)展,見(jiàn)聞技術(shù)部的項(xiàng)目數(shù)量、項(xiàng)目架構(gòu)類(lèi)型、基礎(chǔ)設(shè)施規(guī)模、服務(wù)變更頻率都在不斷地增長(zhǎng),帶給SRE的挑戰(zhàn)是如何能更快地助力于開(kāi)發(fā)人員更快更穩(wěn)定地部署...

    stonezhu 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<