iLogtail 1.X的Pipeline模式存在三个主要局限:
1. 灵活性和性能只能二选一:
- 原生C++插件模式性能最强,但仅支持正则、JSON、分隔符等固定格式,且无法自由组合。
- Go扩展插件模式灵活性足够,但C++到Go的跨语言数据传递引入额外的序列化/反序列化步骤,性能有所损耗。Go的解析函数性能也低于C++。
2. 条件判断困难:插件配置更适合格式固定的日志。如果日志格式多样,单一Pipeline难以处理,需要配置多个Pipeline,增加管理复杂度。
3. 配置操作繁琐:控制台上每个插件都有对应的配置模块,要做复杂配置时,需要逐个添加和配置插件,页面交互繁琐且容易出错。
这些局限性催生了SPL模式的诞生,用统一的高性能处理语言解决上述所有问题。




