需求
需要负责完成一个大数据项目的全链路监控,通过调研,skywalking功能强大,社区活跃,文档齐全,所以从skywalking出发,学习研究项目框架、代码,用在本项目中。
官方文档
已经在哔哩哔哩看了不厌老师的源代码解析,但是还没有看源代码,本人java水平也比较low,先看一下skywalking官方文档,对项目架构有些了解,这里主要是对官方文档的摘要,不然只看一遍文档也没什么收获,这里记录一下。
学习
探针简介
服务自动打点代理
利用java字节码的技术,通过javaagent premain,自动打点代理利用了虚拟机提供的用于修改代码的接口来动态加入打点的代码,存在一些限制,
1.进程内传播在大多数情况下成为可能
2.仅仅对某些框架和库奏效
3.跨线程可能并非总是奏效
网络服务
对服务中不同服务之间的访问的监控,服务网格探针从每个请求收集遥测数据,因此它知道源、目标、端点、延迟和状态。通过这些,后端可以通过将这些调用合并为行来描述整个拓扑图,以及每个节点通过传入请求的度量。后端解析跟踪数据,请求相同的度量数据。