链路追踪_springcloud-第九回 链路追踪Sleuth
生活随笔
收集整理的這篇文章主要介紹了
链路追踪_springcloud-第九回 链路追踪Sleuth
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
背景
微服務架構下,幾乎每一個前端請求都會形成一個復雜的分布式服務調用鏈路,在每條鏈路中任何一個依賴服務出現延遲超時或者錯誤都有可能引起整個請求最后的失敗,為了快速定位和解決問題,需要追蹤服務請求序列,分布式鏈路監控組件在這種需求下產生。
服務鏈路
解決的問題
跟蹤一個用戶請求的過程(包括數據采集,數據傳輸,數據存儲,數據分析,數據可視化),捕獲這些跟蹤數據,就能構建微服務的整個調用鏈的視圖,是調試和監控微服務的關鍵工具。
4個特點
案列結構圖
集成Zipkin使用
Zipkin 提供了鏈路追蹤的可視化 。組成: collector(收集數據) Storage(存儲數據)Web UI (界面)。收集數據的方式2種,HTTP(同步)和MQ(異步),默認HTTP。
訪問9411端口
2. 消費端配置
2.1 引入依賴
org.springframework.cloud spring-cloud-starter-zipkin2.2 在配置文件中聲明zipkin服務器的地址
spring: rabbitmq: host: localhost port: 9411 username: guest password: guestsleuth: sampler: probability: 1 #默認sleuth收集信息的比率是0.1, 10%2.3 項目中調用
@RequestMapping("hello")public String helloConsumer() { //使用restTemplate調用消費服務提供者的SERVICE-HI的info服務 //String response=restTemplate.getForObject("http://cloud-consumer-feign/hi", String.class); String response=hiService.sayHello()+" ribbon"; logger.info(response); return response;}3.優化
3.1 HTTP改為MQ通信
3.1.1 POM 引入依賴
org.springframework.cloud spring-cloud-starter-zipkinorg.springframework.amqp spring-rabbit ?3.1.2 配置MQ
spring: application: name: zipkin-server rabbitmq: #配置mq消息隊列 host: localhost port: 5672 username: guest password: guest?? zipkin: rabbitmq: queue: zipkin3.2 MySQL(內存數據庫)改為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改造測試
我們使用谷歌瀏覽器插件 ElasticSearch Head 查看當前 Elasticsearch 集群的信息。可以發現 Zipkin 跟蹤數據已經成功保存進來了。
總結
以上是生活随笔為你收集整理的链路追踪_springcloud-第九回 链路追踪Sleuth的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小米平板2更新bios版本_【军团战争5
- 下一篇: 2 创建联合索引_想进大厂,这些Mysq