5.1-Sleuth+Zipkin-概述

• Spring Cloud Sleuth 其实是一个工具,它在整个分布式系统中能跟踪一个用户请求的过程,捕获这些跟踪数
据,就能构建微服务的整个调用链的视图,这是调试和监控微服务的关键工具。
• 耗时分析
• 可视化错误
• 链路优化
• Zipkin 是 Twitter 的一个开源项目,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包
括数据的收集、存储、查找和展现。

5.2-Sleuth+Zipkin-快速入门

  1. 安装启动zipkin。 java –jar zipkin.jar
    1587802288137.png

    1. 启动成功日志
    2. ![1587802360854.png](https://cdn.nlark.com/yuque/0/2021/png/2479203/1623071563419-98486ff5-1f50-4719-82ec-73b6c7c08c1d.png#clientId=udd584aa8-02af-4&from=paste&height=505&id=uef3a73bc&margin=%5Bobject%20Object%5D&name=1587802360854.png&originHeight=1010&originWidth=1377&originalType=binary&ratio=2&size=735908&status=done&style=none&taskId=u9391463d-2654-4fe3-bd7e-76721982571&width=688.5)
  2. 访问zipkin web界面。 http://localhost:9411/

1587802457833.png

  1. 在服务提供方和消费方分别引入 sleuth 和 zipkin 依赖
  1. <!-- sleuth-zipkin -->
  2. <!--<dependency>
  3. <groupId>org.springframework.cloud</groupId>
  4. <artifactId>spring-cloud-starter-sleuth</artifactId>
  5. </dependency>-->
  6. <dependency>
  7. <groupId>org.springframework.cloud</groupId>
  8. <artifactId>spring-cloud-starter-zipkin</artifactId>
  9. </dependency>
  1. 分别配置服务提供方和消费方。

sleuth-provider application.yaml

  1. server:
  2. port: 8001
  3. eureka:
  4. client:
  5. service-url:
  6. defaultZone: http://localhost:8761/eureka
  7. spring:
  8. application:
  9. name: feign-provider
  10. zipkin:
  11. base-url: http://localhost:9411/ # 设置zipkin的服务端路径
  12. sleuth:
  13. sampler:
  14. probability: 1 # 采集率 默认 0.1 百分之十。

sleuth-consumer application.yaml

  1. server:
  2. port: 9000
  3. eureka:
  4. instance:
  5. hostname: localhost # 主机名
  6. client:
  7. service-url:
  8. defaultZone: http://localhost:8761/eureka
  9. spring:
  10. application:
  11. name: feign-consumer # 设置当前应用的名称。将来会在eureka中Application显示。将来需要使用该名称来获取路径
  12. zipkin:
  13. base-url: http://localhost:9411/ # 设置zipkin的服务端路径
  14. sleuth:
  15. sampler:
  16. probability: 1 # 采集率 默认 0.1 百分之十。
  17. logging:
  18. level:
  19. com.itheima: debug
  1. 启动,测试 http://localhost:9411/

1587802777145.png

详细信息

1587802821502.png

6.nacos配置中心

6.1客户端配置

  1. pom中添加nacos-config依赖

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.cloud</groupId>
    4. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    5. <version>2.2.1.RELEASE</version>
    6. </dependency>
    7. </dependencies>
  2. bootstrap.properties配置
    ```properties spring.cloud.nacos.config.server-addr=127.0.0.1:8848

spring.application.name=nacos-config

  1. 3. 开启SpringCloud自动刷新
  2. ```java
  3. package com.itheima.nacosconfig.controller;
  4. import org.springframework.beans.factory.annotation.Value;
  5. import org.springframework.cloud.context.config.annotation.RefreshScope;
  6. import org.springframework.web.bind.annotation.GetMapping;
  7. import org.springframework.web.bind.annotation.RequestMapping;
  8. import org.springframework.web.bind.annotation.RestController;
  9. /**
  10. * @author liqp
  11. * @version 1.0
  12. * @date 2020/8/22
  13. */
  14. @RestController
  15. @RequestMapping("nacos")
  16. @RefreshScope
  17. public class NacosController {
  18. @Value("${itheima}")
  19. private String itheima;
  20. @GetMapping("get")
  21. public String get() {
  22. return itheima;
  23. }
  24. }