C++ 部分原本就采用总线模式向 SLS 发送数据,新架构在保持高性能的同时把它抽象为 FlusherSLS 输出插件:
- 引入全局单例
SLSSender,由其线程负责轮流发送所有 SLS 输出插件的数据。 - 与文件采集不同,发送线程在流水线变更期间无需停止,避免数据中断。
FlusherSLS::Start仅做引用计数加 1:增加 Project、Region 以及 Region 内的 Aliuid 引用。FlusherSLS::Stop则做对应的引用计数减 1,使资源在最后一条流水线移除时才释放。- 通过 Init 阶段返回的
optionalGoPipeline字段,可与 Golang 部分协同生成 hybrid 流水线。
这种设计让 SLS 发送逻辑既符合通用 Flusher 接口,又保留了高吞吐总线模式的性能优势。




