iLogtail Pipeline 架构中使用了三种创建型设计模式。第一是工厂模式:C++ Pipeline 中定义了 Log、Metric、Trace 三种数据类型,抽象出 PipelineEvent 作为数据流通用格式,在 core/models 中定义了 PipelineEvent 工厂来创建 Log、Metric、Span 等对象,降低了业务场景耦合并提高了新增数据模型时的可扩展性。第二是生成器模式(建造者模式):Go Pipeline 是一种复杂生产线,Pipeline 管理器作为 Director 将构建过程分解为多个插件的构建步骤,由 PipeBuilder 完成各阶段插件(Input、Processor、Aggregator、Flusher)的创建和初始化,最终组合成完整的 Pipeline 对象。第三是原型模式:在数据处理过程中,通过复制现有对象来创建多个相似的 PipelineEvent 对象,避免重复的复杂创建过程,有效提高数据处理效率。




