iLogtail引入Golang插件系统的主要原因是C++开发生态有限,难以快速实现多样化的数据输入输出选项和个性化的数据处理能力。Golang插件系统具有以下特点:
- 流水线独立:每个采集配置对应一条完整的流水线,各流水线之间的资源互相独立,互不影响。
- 多输入输出:每条流水线支持多个输入和输出,且支持从C++主程序接收数据或向其发送数据。
- 处理插件级联:每条流水线支持多个处理插件级联,有效提升处理能力。
- 独立配置管理:插件系统本身具备配置管理能力,支持配置热加载,可独立工作。
Go语言的高并发特性(goroutine)和丰富的生态使得快速开发各类采集插件成为可能,极大扩展了iLogtail的数据采集范围。




