每一个前端请求,会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起整个请求最后的失败
在命令行终端中输入:java -jar zipkin-server-2.12.9-exec.jar
http://localhost:9411/zipkin
引入 spring-cloud-starter-zipkin 依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
添加zipkin和sleuth属性
spring: application: name: cloud-payment-service #微服务名称 zipkin: base-url: http://localhost:9411 sleuth: sampler: # 采样率介于0到1之间,1表示全部采样 probability: 1
对外提供的服务项
@GetMapping("/payment/zipkin") public String paymentZipkin() { return "hi, i am Zipkin"; }
调用服务提供者的url
@GetMapping("/consumer/payment/zipkin") public String paymentZipkin() { String result = restTemplate.getForObject("http://localhost:8001" + "/payment/zipkin/", String.class); return result; }
1、启动服务提供者、服务消费者
2、打开浏览器,访问http://localhost:9411
得到微服务调用关系:
得到依赖关系: