skywalking是: 基于opentracing规范的APM系统
skywalking解决了什么问题?
skywalking解决微服务架构下,多服务直接复杂的调用关系
了解dapper,分布式链路追踪系统
dapper又是谷歌论文,各公司又相继模仿。(我为什么会说又???)
APM系统
各个公司借鉴谷歌的dapper,实现了自己的分布式链路追踪系统,统称APM系统。
OpenTracing
OpenTracing是一个规范,类似于http规范。是一套api。
skywalking就是基于这个api的一个比较好的实现。
skywalking和他的兄弟们
1、pinpoint
韩国开发。
主要优点:无代码侵入,ui的用户体验好。
缺点:收集太多数据导致整体性能不好。
支持java和php语言
2、skywalking
国人开发
apache项目,比较注重性能,同时对代码无侵入性。
支持与dubbo,spring boot,spring cloud…集成
支持java,.NET,Node.js语言
3、zipkin
由twittwe开源
优点:简单好上手,与spring cloud良好集成
spring cloud官方推荐zipkin
4、CAT
由大众点评开源
版本相对老一点,但报表功能比较强
缺点:代码侵入性大,很多数据需要手动在代码中埋点。
skywalking架构
整体分为三块:数据采集获取,数据存储,数据查询