LoongCollector继承并演进了iLogtail的总线模式线程模型,按功能模块划分固定数量的线程,保证线程数恒定。主要工作线程包括:
Input Runner线程:负责从数据源获取数据,组装成事件组推入处理队列。最复杂——一种输入插件类型对应一个线程,相似类型可共享(如InputFile和InputContainerStdio共享File Input Runner)。
Processor Runner线程:从所有流水线的处理队列获取事件组,根据流水线配置执行处理插件,然后进行批聚合、序列化和压缩,将结果推送到发送队列。可启动多个(默认1个)。
Flusher Runner线程:从发送队列获取已序列化的请求,执行请求分配和流控,推送到对应Sink队列。发送失败时将原始事件组放回发送队列重试。
Sink线程:执行实际的网络发送操作(如Http Sink、File Sink),数量取决于Sink类型数。
各线程之间通过缓冲队列连接,每条流水线拥有独立的处理队列和发送队列,保证隔离性。




