什么是skywaling 分布式链路追踪? 分布式链路追踪是指分布式应用系统的性能监视工具,专为微服务架构,云原生架构和基于容器 (K8S ,docker )架构而设计。
Skywaling 提供分布式追踪,服务网格遥测分析,度量聚合和可视化一体化解决方案

在这个图中,整体架构分为大致四个部分:
1.上部分agent :负责从应用中,收集链路信息,发送给skywaling OAP服务器。
2、下部分 SkyWalking OAP :负责接收Agent发送的Tracing数据信息,然后进行分析(Analysis Core),存储到外部存储器(Storage),最终提供查询(Query)功能;
3、右部分Storage:Tracing数据存储,目前支持ES、MySQL、Sharding Sphere、TiDB、H2多种存储器,目前采用较多的是ES,主要考虑是SkyWalking开发团队自己的生产环境采用ES为主;
4、左部分SkyWalking UI:负责提供控台,查看链路等等;
SkyWalking 环境搭建部署(图片来自于网络)

首先我们下载该软件包,开始搭建一个建一个 SkyWalking OAP 和SkyWalking UI服务;启动一个Spring Boot应用,并配置SkyWalking Agent;数据存储暂时先使用它默认的H2数据库存储,后续我们再使用其他存储;
服务(Service) :表示对请求提供相同行为的一系列或一组工作负载,在使用Agent时,可以定义服务的名字,我们可以看到 Spring Boot 应用服务为 "11-springboot",就是我们在环境变量 SW_AGENT_NAME 中所定义的;
服务实例(Service Instance) :上述的一组工作负载中的每一个工作负载称为一个实例, 一个服务实例实际就是操作系统上的一个真实进程;
这里我们可以看到 Spring Boot 应用的服务为 {agent_name}-pid:{pid}@{hostname},由 Agent 自动生成;
端点(Endpoint) :对于特定服务所接收的请求路径, 如HTTP的URI路径和gRPC服务的类名 + 方法签名;
我们可以看到 Spring Boot 应用的一个端点,为API接口 /index;