微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。
![4029be49569e012b1ed1dd87acd583d5.png](https://img-blog.csdnimg.cn/img_convert/4029be49569e012b1ed1dd87acd583d5.png)
微服务之间调用图示
Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。
ZipKin是twitter的开源项目,其架构图如下
![6e711574acfad0601960fb759b695dfe.png](https://img-blog.csdnimg.cn/img_convert/6e711574acfad0601960fb759b695dfe.png)
ZipKin 架构图
ZipKin中的关键东西就是Collector、Storage、API、UI,Collection就是收集调用新,Storage存储这些调用信息,默认是放在内存中的,如果怕重启丢失可以放到数据库中,API是暴露给外部访问采集统计信息的,UI是为了方便展示数据采样相信的模块。
几个字段说明:
trace