skywalking是一个apm系统,包含监控,追踪,并拥有故障诊断能力的分布式系统。
从上面简单的架构图上可以看出几点:
- skywalking分了数据采集(Tracing,Metrics),数据分析/查询,数据存储和UI四个大模块。
- 数据收集的调用链数据包含了不同格式的数据,包括zipkin和自己的四种,就是说调用链数据的数据模型和其他几种分布式链路工具的数据模型是一样的,可能UI也可以通用。能够通用的原因可能是几种产品都是基于opentracing协议的。这一点我不是很明白,后面看代码怎么实现的。
- 数据收集以后直接通过grpc协议上报到分析平台,分析平台包含了分析和查询。并能处理调用链和指标的数据。
- 数据的存储支持多种数据库。
有空大家可以直接看github上的资料:apache/skywalking