31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client

公众号: java乐园

上一篇简介了Zipkin Server的搭建,但是从Spring boot 2.x版本后,Zipkin官网已经不再推荐自己搭建定制Zipkin,而是直接提供了编译好的jar包。详情可以查看官网:
https://zipkin.io/pages/quickstart.html
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第1张图片
有了Zipkin Server还不能对微服务的调用链路进行人祸监控,Zipkin Server可以被认为是一个数据处理和展示中心,那它的数据哪里来呢?需要Zipkin Client作为代理连接到Zipkin Server源源不断的上送过来。今天讲解一下如何在微服务中引入Zipkin Client,然后结合Zipkin Server监控各微服务间的调用链路。整体调用链路图如下:
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第2张图片
涉及的项目:
注册中心:sc-eureka-server
Zipkin server:sc-zipkin-server
微服务:sc-zipkin-client-web、sc-zipkin-client-service

1、 新建项目sc-zipkin-client-service,对应的pom.xml文件如下


	4.0.0

	spring-cloud
	sc-zipkin-client-service
	0.0.1-SNAPSHOT
	jar

	sc-zipkin-client-service
	http://maven.apache.org
	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.4.RELEASE
	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Finchley.RELEASE
				pom
				import
			

		
	

	
		UTF-8
		1.8
		1.8
	

	
		
			org.springframework.cloud
			spring-cloud-starter-netflix-eureka-client
		

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

		
			org.springframework.boot
			spring-boot-starter-web
		
	

备注:主要引入了spring-cloud-starter-zipkin,说明这是一个zipkin client。

2、 新建配置文件application.yml

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:5001/eureka/
      
server:
  port: 9201
spring:
  application:
    name: sc-zipkin-client-service
  zipkin:
base-url: http://localhost:9000

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第3张图片

3、 sc-zipkin-client-service(普通的微服务)项目其他项目文件如下图

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第4张图片

4、 新建项目sc-zipkin-client-web,对应的pom.xml文件如下


	4.0.0

	spring-cloud
	sc-zipkin-client-web
	0.0.1-SNAPSHOT
	jar

	sc-zipkin-client-web
	http://maven.apache.org

	
		org.springframework.boot
		spring-boot-starter-parent
		2.0.4.RELEASE
	

	
		
			
				org.springframework.cloud
				spring-cloud-dependencies
				Finchley.RELEASE
				pom
				import
			

		
	

	
		UTF-8
		1.8
		1.8
	

	
		
			org.springframework.cloud
			spring-cloud-starter-netflix-eureka-client
		

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

		
			org.springframework.boot
			spring-boot-starter-web
		

		
			org.springframework.cloud
			spring-cloud-starter-openfeign
		
	

备注:同样引入了spring-cloud-starter-zipkin,说明是一个zipkin client

5、 新建配置文件application.yml

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:5001/eureka/
      
server:
  port: 9202
spring:
  application:
    name: sc-zipkin-client-web
  zipkin:
    base-url: http://localhost:9000

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第5张图片
6、 sc-zipkin-client-web(普通的微服务)项目其他项目文件如下图

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第6张图片

7、 验证
项目启动顺序:
sc-eureka-server
sc-zipkin-server
sc-zipkin-client-service
sc-zipkin-client-web
访问注册中心:http://127.0.0.1:5001/
服务都已经注册成功
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第7张图片

访问Zinkin Server:http://localhost:9000/zipkin/
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第8张图片
目前zipkin server没有记录任何的微服务调用链路数据。
分别访问接口:
http://127.0.0.1:9202/user/listUser
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第9张图片
http://127.0.0.1:9202/user/getUser/1
31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第10张图片
再次查看Zipkin Server(如果没有出现可以多访问几次接口,Zipkin需要更多的监控数据)

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第11张图片

31、Spring Cloud 中整合Zipkin进行服务跟踪zipkin-client_第12张图片

你可能感兴趣的:(java,springcloud,spring技术)