《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《数据库实体设计合集》

摘要: 原创出处 http://www.iocoder.cn/SkyWalking/collector-client-component/ 「芋道源码」欢迎转载,保留摘要,谢谢!

本文主要基于 SkyWalking 3.2.6 正式版


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

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.transport5.5.0 版本,封装 SkyWalking 需要的 Elastic Search 操作。目前用于 collector-storage-es-provider 模块。

4. GRPCClient

org.skywalking.apm.collector.client.grpc.GRPCClient ,gRPC 客户端。

基于 io.grpc.grpc-core1.8.0 版本,封装 SkyWalking 需要的 gRPC 操作。目前用于 collector-remote-grpc-provider 模块。

5. H2Client

org.skywalking.apm.collector.client.h2.H2Client ,H2 数据库客户端。

基于 com.h2database.h21.4.196 版本,封装 SkyWalking 需要的 H2 数据库操作。目前用于 collector-storage-h2-provider / collector-cluster-standalone-provider 模块。

6. RedisClient

org.skywalking.apm.collector.client.redis.RedisClient ,Redis 客户端。

基于 redis.clients.jedis2.9.0 版本,封装 SkyWalking 需要的 Reids 操作。预计未来用于 collector-cluster-redis-provider 模块。

7. ZookeeperClient

org.skywalking.apm.collector.client.zookeeper.ZookeeperClient ,Zookeeper 客户端。

基于 org.apache.zookeeper.zookeeper3.4.10 版本,封装 SkyWalking 需要的 Zookeeper 操作。预计未来用于 collector-cluster-zookeeper-provider 模块。

666. 彩蛋

知识星球

哈哈哈,是不是看的很有成就感( 笔者又在水更了 )。

不要方,下面还有一篇水更。

胖友,分享个朋友圈可好?

文章目录
  1. 1. 1. 概述
  2. 2. 2. Client
  3. 3. 3. ElasticSearchClient
  4. 4. 4. GRPCClient
  5. 5. 5. H2Client
  6. 6. 6. RedisClient
  7. 7. 7. ZookeeperClient
  8. 8. 666. 彩蛋