日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

链路追踪_springcloud-第九回 链路追踪Sleuth

發(fā)布時(shí)間:2024/9/30 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 链路追踪_springcloud-第九回 链路追踪Sleuth 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

背景

微服務(wù)架構(gòu)下,幾乎每一個(gè)前端請(qǐng)求都會(huì)形成一個(gè)復(fù)雜的分布式服務(wù)調(diào)用鏈路,在每條鏈路中任何一個(gè)依賴(lài)服務(wù)出現(xiàn)延遲超時(shí)或者錯(cuò)誤都有可能引起整個(gè)請(qǐng)求最后的失敗,為了快速定位和解決問(wèn)題,需要追蹤服務(wù)請(qǐng)求序列,分布式鏈路監(jiān)控組件在這種需求下產(chǎn)生。

服務(wù)鏈路

解決的問(wèn)題

跟蹤一個(gè)用戶(hù)請(qǐng)求的過(guò)程(包括數(shù)據(jù)采集,數(shù)據(jù)傳輸,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)分析,數(shù)據(jù)可視化),捕獲這些跟蹤數(shù)據(jù),就能構(gòu)建微服務(wù)的整個(gè)調(diào)用鏈的視圖,是調(diào)試和監(jiān)控微服務(wù)的關(guān)鍵工具。

4個(gè)特點(diǎn)

案列結(jié)構(gòu)圖

集成Zipkin使用

Zipkin 提供了鏈路追蹤的可視化 。組成: collector(收集數(shù)據(jù)) Storage(存儲(chǔ)數(shù)據(jù))Web UI (界面)。收集數(shù)據(jù)的方式2種,HTTP(同步)和MQ(異步),默認(rèn)HTTP。

  • 搭建zipkin服務(wù)器
  • docker run -d -p 9411:9411 openzipkin/zipkin ? ??

    訪問(wèn)9411端口

    2. 消費(fèi)端配置

    2.1 引入依賴(lài)

    org.springframework.cloud spring-cloud-starter-zipkin

    2.2 在配置文件中聲明zipkin服務(wù)器的地址

    spring: rabbitmq: host: localhost port: 9411 username: guest password: guestsleuth: sampler: probability: 1 #默認(rèn)sleuth收集信息的比率是0.1, 10%

    2.3 項(xiàng)目中調(diào)用

    @RequestMapping("hello")public String helloConsumer() { //使用restTemplate調(diào)用消費(fèi)服務(wù)提供者的SERVICE-HI的info服務(wù) //String response=restTemplate.getForObject("http://cloud-consumer-feign/hi", String.class); String response=hiService.sayHello()+" ribbon"; logger.info(response); return response;}

    3.優(yōu)化

    3.1 HTTP改為MQ通信

    3.1.1 POM 引入依賴(lài)

    org.springframework.cloud spring-cloud-starter-zipkinorg.springframework.amqp spring-rabbit ?

    3.1.2 配置MQ

    spring: application: name: zipkin-server rabbitmq: #配置mq消息隊(duì)列 host: localhost port: 5672 username: guest password: guest?? zipkin: rabbitmq: queue: zipkin

    3.2 MySQL(內(nèi)存數(shù)據(jù)庫(kù))改為ElasticSearch

    docker run --name zipkin -d -p 9411:9411 -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.60.133:9200 openzipkin/zipkin

    或者docker-compose

    version: '2'services: zipkin: image: openzipkin/zipkin container_name: zipkin environment: - STORAGE_TYPE=elasticsearch - ES_HOSTS=192.168.60.133:9200 #- RABBIT_ADDRESSES=192.168.60.133:5672 #- RABBIT_USER=hangge #- RABBIT_PASSWORD=123 ports: - 9411:9411

    改造測(cè)試

    我們使用谷歌瀏覽器插件 ElasticSearch Head 查看當(dāng)前 Elasticsearch 集群的信息。可以發(fā)現(xiàn) Zipkin 跟蹤數(shù)據(jù)已經(jīng)成功保存進(jìn)來(lái)了。

    總結(jié)

    以上是生活随笔為你收集整理的链路追踪_springcloud-第九回 链路追踪Sleuth的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。