构建gateway-service
目录结构
配置文件
代码
pom文件
项目演示
- 依次启动eureka-server、zipkin-server、user-service、gateway-service
- 浏览器访问 http://localhost:5000/user-api/user/hi
- http://localhost:9411,即访问Zipkin的展示界面
- 这个界面主要用来查找服务的调用情况,可以根据服务名、开始时间、结束时间、请求消耗的时间等条件来查找。点击“Find Trackes”按钮,界面如图所示。从图可知服务的调用情况,比如服务调用时间、服务的消耗时间,服务调用的链路情况。
- 点击Dependences按钮,可以查看服务的依赖关系,在本案例中,gateway-service将请求转发到了user-service,它们的依赖关系如图:
怎么在链路数据中添加自定义数据
需要在gateway-service上实现。建一个ZuulFilter过滤器,它的类型为“post”,order为900,开启拦截。在拦截逻辑方法里,通过Tracer的addTag方法加上自定义的数据,比如本案例中加入了链路的操作人。另外也可以在这个过滤器中获取当前链路的traceId信息,traceId作为链路数据的唯一标识,可以存储在log日志中,方便后续查找。
使用spring-cloud-starter-stream-rabbit进行链路通讯
在上述的案例中,最终gateway-service收集的数据,是通过Http上传给zip-server的,在Spring Cloud Sleuth中支持消息组件来通讯的
首先安装rabbitmq
- docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 docker.io/rabbitmq:management
改造zipkin-server
pom改造
配置文件
启动类
改造 Zipkin Client(包括gateway-service、user-service)

















