1.gateway过滤器返回json数据(自定义全局过滤器) (依赖之前的项目做修改)
首先引入json数据: <!--json--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.72</version> </dependency>
之后修改校验过滤 (filter.LoginFilter)
使用postman测试:
2.Sleuth 入门
修改父工程引入
Sleuth
依赖
<!--sleuth--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-sleuth</artifactId> </dependency>
启动微服务,调用之后,我们可以在控制台观察到 sleuth 的日志输出:
3.
Zipkin 的集成
https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
![](https://img-blog.csdnimg.cn/20210709205540381.png)
![](https://img-blog.csdnimg.cn/20210709205719435.png)
4.Zipkin 客户端集成
ZipKin
客户端和
Sleuth
的集成非常简单,只需要在微服务中添加其依赖和配置即可。
第
1
步:在每个微服务上添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zipkin</artifactId> </dependency>
第
2 步:添加配置(每个微服务上)
![](https://img-blog.csdnimg.cn/20210709210509885.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
第 3 步: 访问微服务
http://localhost:8000/product/findById/1
第
4
步
:
访问
zipkin
的
UI 界面,观察效果
(数据储存于内存中,再打开ZipKin ,数据就会消失)
![](https://img-blog.csdnimg.cn/20210709211020619.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
第 5 步:点击其中一条记录,可观察一次访问的详细线路
![](https://img-blog.csdnimg.cn/20210709211108344.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
5.ZipKin 数据持久化
使用 mysql 实现数据持久化
第
1
步
:
创建
mysql
第 2 步: 在启动 ZipKin Server 的时候,指定数据保存的 mysql 的信息
java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=localhost --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin --MYSQL_USER=root --MYSQL_PASS=123456
运行微服务,查看ZipKin ,关闭ZipKin ,再打开ZipKin ,之前运行的微服务依旧存在ZipKin,不会消失
开始:
重启之后:
6.Nacos Config--服务配置
搭建
nacos
环境【使用现有的
nacos
环境即可】
把微服务的配置放入nacos的配置管理:
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
![](https://img-blog.csdnimg.cn/2021070921254554.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/2021070921253165.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/2021070921250574.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
在微服务中引入
nacos
的依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
在微服务中添加
nacos confifig
的配置
注意
:
不能使用原来的
application.yml
作为配置文件,而是新建一个
bootstrap.yml
作为配置文件:
(
配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
)
![](https://img-blog.csdnimg.cn/20210709213116690.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lqcV9qYXZheHg=,size_16,color_FFFFFF,t_70)
注释本地的
application.yam
中的内容, 启动程序进行测试
如果依旧可以成功访问程序,说明我们
nacos
的配置中心功能已经实现