1.2、探针采集层
所谓探针,实际上是一种动态代理技能,只不过不是我们常用的Java代理类,而是在类加载时,就天生了增强过的代理类的字节码,增强了数据拦截和采集上报的功能。
探针技能是在项目启动时通过字节码技能(比如JavaAgent、ByteBuddy)进行类加载和更换,天生新的增强过的Class文件,对性能的影响是一次性的。
探针技能,由于在类加载时进行转换,增强了部分功能,以是会增加项目启动韶光,同时也会增加内存占用量和线程数量。但是对性能影响不大,官方先容在5% ~ 10%之间。

探针层在类转换时,通过各种插件对原有的类进行增强,之后在运行时拦截要求,然后将拦截的数据上报给Skywalking做事端。同时再加上一些定时任务,去采集运用做事器的根本数据,比如JVM信息等。
1.3、数据传输和逻辑处理层SkyWalking探针层利用了GRPC作为数据传输框架,将采集的数据上报到SkyWalking做事端。
SkyWalking做事端吸收数据后,利用各种插件来进行数据的剖析和逻辑处理。比如:JVM干系插件,紧张用于处理上报上来的JVM信息,数据库插件用来剖析访问数据库的信息。然后在将数据存入到数据存储层。
1.4、数据存储层SkyWalking的数据存储层支持多种主流数据库,可以自行到配置文件里查阅。我推举利用ElasticSearch,存储量大,搜索性能又好。
1.5、数据展示层SkyWalking 通过 Rocketbot 进行页面UI展示。可以在页面的左上角看到这个可爱的Rocketbot。
实战总结利用大盘做事(Service):某个微做事,或者某个运用。
做事实例(Instance):某个微做事或者某个运用集群的一台实例或者一台负载。
端点(Endpoint):某个Http要求的接口,或者 某个接口名+方法名。
全局拓扑构造
链路详情利用总结SkyWalking:APM(运用程序性能监视器)系统,专为 微做事、云原生和基于容器的架构。
SkyWalking实在就4部分组成:探针采集上报 、 数据剖析和逻辑处理、数据存储 、 数据展示 。安装利用大略、易上手。探针技能是SkyWalking的基石,说白了便是:在类加载时进行 字节码转换增强 ,然后去拦截要求,采集上报数据。UI页面的利用 ,多用用就熟习了。