iLogtail 主要经历了两大架构阶段:
- 单一文件采集阶段(早期):完全基于 C++ 实现,仅支持采集单一格式的日志文件并发送到日志服务,性能优异但代码偏单体架构、面向过程,模块耦合严重,扩展性较差。
- Golang 插件扩展阶段:随着可观测性概念的兴起,引入基于 Golang 的插件系统,每条采集配置对应一条独立流水线,支持多输入多输出、多处理插件级联以及配置热加载,显著扩展了采集生态。
但 Golang 插件阶段仍存在 C++ 高性能处理能力无法被开源用户使用、输入输出与处理模块组合受限、内部数据模型只适用于 Log 等问题,因此团队启动了本次重构。




