重构的核心驱动是原架构在开源后暴露的多重问题:
- 组合能力受限:C++ 原生高性能处理能力只能用于采集日志文件并投递到 SLS,无法与 Golang 插件结合,影响开源用户体验。
- 数据模型局限:内部 LogGroup 只能表达 Log,无法表达 Metric、Trace,且数据结构强绑定 SLS,向第三方存储发送时需要额外格式转换。
- 代码耦合严重:C++ 主程序类间依赖错综复杂,开发难度大,社区贡献几乎停滞。
- 商业版与开源版剥离粗糙:通过文件替换实现,导致大量空函数和版本不一致,影响联调与发布效率。
- 开发体验差:商业版代码改动需要先做文件替换,容易引入差异。
这些问题严重制约了产品演进速度,重构势在必行。




