SkyWalking 源码分析 DataCarrier 异步处理库
1. 概述
本文主要分享 SkyWalking DataCarrier 异步处理库。
基于生产者消费者的模式,大体结构如下图:

- 实际项目中,没有 Producer 这个类。所以本文提到的 Producer ,更多的是一种角色。
下面我们来看看整体的项目结构,如下图所示 :

2. buffer
org.skywalking.apm.commons.datacarrier.buffer 包,主要包含 Channels 、Buffer 两个类。Channels 是 Buffer 数组的封装。
2.1 Buffer
org.skywalking.apm.commons.datacarrier.buffer.Buffer ,缓存区。
-
buffer 属性,缓冲数组。Producer 保存的数据到 buffer 里。
-
strategy ,缓冲策略( org.skywalking.apm.commons.datacarrier.buffer.BufferStrategy ) 。