skywalking原理_SkyWalking 源码分析 —— Collector Client Component客户端组件
本文主要基于 SkyWalking 3.2.6 正式版
- 1. 概述
- 2. Client
- 3. ElasticSearchClient
- 4. GRPCClient
- 5. H2Client
- 6. RedisClient
- 7. ZookeeperClient
- 666. 彩蛋
- 《Netty 實現原理與源碼解析 —— 精品合集》
- 《Spring 實現原理與源碼解析 —— 精品合集》
- 《MyBatis 實現原理與源碼解析 —— 精品合集》
- 《Spring MVC 實現原理與源碼解析 —— 精品合集》
- 《Spring Boot 實現原理與源碼解析 —— 精品合集》
- 《數據庫實體設計合集》
- 《Java 面試題 —— 精品合集》
- 《Java 學習指南 —— 精品合集》
1. 概述
本文主要分享 SkyWalking Collector Client Component 客戶端組件。Collector 通過客戶端,和其他服務進行通信,例如 Elastic Search 、Zookeeper 、H2 等等。
Client Component 在 SkyWalking 架構圖處于如下位置( 紅框 ) :
FROM https://github.com/apache/incubating-skywalking下面我們來看看整體的項目結構,如下圖所示 :
OK,我們從接口到實現的順序進行分享。
2. Client
org.skywalking.apm.collector.client.Client ,客戶端接口。其定義接口方法如下:
- #initialize() 方法,初始化客戶端。
- #shutdown() 方法,關閉客戶端。
Client 的實現類,如下類圖:
3. ElasticSearchClient
org.skywalking.apm.collector.client.elasticsearch.ElasticSearchClient ,Elastic Search 客戶端。
基于 org.elasticsearch.client.transport 的 5.5.0 版本,封裝 SkyWalking 需要的 Elastic Search 操作。目前用于 collector-storage-es-provider 模塊。
4. GRPCClient
org.skywalking.apm.collector.client.grpc.GRPCClient ,gRPC 客戶端。
基于 io.grpc.grpc-core 的 1.8.0 版本,封裝 SkyWalking 需要的 gRPC 操作。目前用于 collector-remote-grpc-provider 模塊。
5. H2Client
org.skywalking.apm.collector.client.h2.H2Client ,H2 數據庫客戶端。
基于 com.h2database.h2 的 1.4.196 版本,封裝 SkyWalking 需要的 H2 數據庫操作。目前用于 collector-storage-h2-provider / collector-cluster-standalone-provider 模塊。
6. RedisClient
org.skywalking.apm.collector.client.redis.RedisClient ,Redis 客戶端。
基于 redis.clients.jedis 的 2.9.0 版本,封裝 SkyWalking 需要的 Reids 操作。預計未來用于 collector-cluster-redis-provider 模塊。
7. ZookeeperClient
org.skywalking.apm.collector.client.zookeeper.ZookeeperClient ,Zookeeper 客戶端。
基于 org.apache.zookeeper.zookeeper 的 3.4.10 版本,封裝 SkyWalking 需要的 Zookeeper 操作。預計未來用于 collector-cluster-zookeeper-provider 模塊。
總結
以上是生活随笔為你收集整理的skywalking原理_SkyWalking 源码分析 —— Collector Client Component客户端组件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python竞赛题解答_【一点资讯】用p
- 下一篇: -f shell 模糊匹配_生产力工具: