链路追踪组件
应用性能监视工具
调用链路组件选型:
springCloud sleuth,结合Zipkin使用,拦截HTTP请求,将数据发送至Zipkin服务
Pinpoint,基于字节码增强。性能比较低。
SkyWalking,侵入性低,而且性能高。
CAT,对业务侵入性比较强。代码埋点(拦截器、注解、过滤器等)
Skywalking分为三个粒度进行监控:
服务、服务实例、endpoint
Skywalking提供的功能:
拓扑图、追踪、性能分析、日志、告警
Skywalking整体架构:
Metrics收集应用数据,如何接入应用:(Skywalking支持3种探针):
1. Agent - 基于ByteBuddy字节码增强技术实现,通过jvm的agent参数加载,并在程序启动时拦截指定的方法来收集数据。
2. SDK - 程序中显示调用SkyWalking提供的SDK来收集数据,对应用有侵入。
3. Service Mesh - 通过 Service mesh的网络代理来收集数据。
Analysis Core 存储接收的应用数据,
Query Core 查询存储的应用数据。
Skywalking UI - 提供UI 页面可以查看数据情况,拓扑图、追踪、性能分析、日志、告警。