溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SpringCloud微服務(wù)(07):Zipkin組件,實現(xiàn)請求鏈路追蹤

發(fā)布時間:2020-04-05 16:56:00 來源:網(wǎng)絡(luò) 閱讀:464 作者:知了一笑 欄目:編程語言

本文源碼:GitHub·點這里 || GitEE·點這里

一、鏈路追蹤簡介

1、Sleuth組件簡介

Sleuth是SpringCloud微服務(wù)系統(tǒng)中的一個組件,實現(xiàn)了鏈路追蹤解決方案??梢远ㄎ灰粋€請求到底請求了哪些具體的服務(wù)。在復(fù)雜的微服務(wù)系統(tǒng)中,如果請求發(fā)生了異常,可以快速捕獲問題所在的服務(wù)。

2、項目結(jié)構(gòu)

  • 啟動順序如下
* 注冊中心
node07-eureka-7001
* 鏈路數(shù)據(jù)收集服務(wù)
node07-zipkin-7003
* 服務(wù)提供
node07-provider-6001
node07-provider-6002
* 網(wǎng)關(guān)路由
node07-zuul-7002

二、搭建鏈路服務(wù)

1、核心依賴

<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
  • 啟動類注解:@EnableZipkinServer

2、配置文件

server:
  port: 7003
spring:
  application:
    name: node07-zipkin-7003
eureka:
  instance:
    hostname: zipkin-7003
    prefer-ip-address: true
  client:
    service-url:
      defaultZone: http://registry01.com:7001/eureka/

三、服務(wù)配置

這里網(wǎng)關(guān),zuul-7002,服務(wù)提供,provider-6001,provider-6002的配置相同。

1、核心依賴

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

2、配置文件

spring:
  zipkin:
    base-url: http://localhost:7003
  sleuth:
    sampler:
      # 數(shù)據(jù) 100% 上傳
      percentage: 1.0

四、測試流程

1、注冊中心

一次啟動上述服務(wù)之后,查看注冊中心:

SpringCloud微服務(wù)(07):Zipkin組件,實現(xiàn)請求鏈路追蹤

2、請求流程

訪問接口

http://localhost:7002/v1/api-6001/get6001Info

這個請求從網(wǎng)關(guān)服務(wù)進(jìn)入,到達(dá)6001端口服務(wù)之后,請求6002端,最終返回結(jié)果。

  • 6001接口
@Autowired
private RestTemplate restTemplate ;
@RequestMapping("/get6001Info")
public String get6001Info (){
    String server_name = "http://node07-provider-6002" ;
    return restTemplate.getForObject(server_name+"/get6002Info",String.class) ;
}
  • 6002接口
    @RequestMapping(value = "/get6002Info",method = RequestMethod.GET)
    public String get6002Info () {
    LOG.info("provider-6002");
    return "6002Info" ;
    }

3、鏈路管理界面

1)、UI界面

訪問接口

http://localhost:7003/zipkin/

SpringCloud微服務(wù)(07):Zipkin組件,實現(xiàn)請求鏈路追蹤

2)、依賴分析

如圖點擊,【依賴分析】,和上面描述的請求過程完全一致。

SpringCloud微服務(wù)(07):Zipkin組件,實現(xiàn)請求鏈路追蹤

五、源代碼地址

GitHub·地址
https://github.com/cicadasmile/spring-cloud-base
GitEE·地址
https://gitee.com/cicadasmile/spring-cloud-base

SpringCloud微服務(wù)(07):Zipkin組件,實現(xiàn)請求鏈路追蹤

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI