1. sleuth+zipkin分布式链路追踪
实现分布式链路追踪:sleuth【生成链路日志】+zipkin【收集链路日志,以图像化显示】
1.1 Sleuth介绍
- Trace[一条完整链路-包含很多span(微服务接口)]
- Span
- Annotation
1.2 使用sleuth
-
引入依赖-避免代码重复,该依赖可以添加到父工程下
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency> </dependencies>
访问资源后,会在控制台打印生成的日志相关信息
1.3 使用zipkin
1.4 使用zipkin软件
- 在官网下载zipkin软件
https://repo1.maven.org/maven2/io/zipkin/zipkin-server/
- 启动zipkin软件服务——在命令行窗口启动
java -jar zipkin.jar
-
微服务连接到zipkin服务器端
-
在父工程下添加依赖
<!--zipkin--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
-
在配置文件中添加zipkin的配置-加在所有微服务上
#zipkin的配置 spring.zipkin.base-url=http://localhost:9411
-
-
展示
http://127.0.0.1:9411/zipkin
2. 配置中心
2.1 为什么使用配置中心
思考: (1)每个微服务可能要搭建n台集群。这个集群中的微服务配置都是一样。如果需要修改服务的配置,就需要每个都要修改。 (2)各个微服务他们可能拥有相同的配置。
思路: 交给一个组件来统一管理。----配置中心。
2.2 常用的配置中心组件
- Apollo
- Disconf
- SpringCloud Config
- Nacos
2.3 如何使用nacos配置中心
1. 在配置中心中创建一个配置文件
2. 在微服务中使用
在微服务中添加nacos配置中心的依赖
<!--nacos配置中心的依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
3. 创建一个配置文件bookstrap.properties
#微服务的名称
spring.application.name=qy174-product
#配置中心的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
2.4 application和bootstrap的区别
2.5 实时刷新
2.6 集群项目共享一个配置文件
2.7 不同微服务共享相同的配置
1. 创建一个公共配置
2. 在微服务中的bootstrap.properties
配置文件中使用公共配置
#扩展配置的名称
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.properties
#扩展配置文件的组名
spring.cloud.nacos.config.extension-configs[0].group=DEFAULT_GROUP
#扩展配置文件是否实时刷新
spring.cloud.nacos.config.extension-configs[0].refresh=true
#扩展配置文件的后缀
spring.cloud.nacos.config.extension-configs[0].file-extension=properties
3. 在公共配置中添加公共的配置