iLogtail在采集配置变更时采用Stop The World方式,所有采集配置全部暂停、重新加载再重新启动。当多个团队共用一个iLogtail实例时,一个团队的配置调试会影响其他团队的采集。LoongCollector对此进行了根本性优化,采用总线模式按功能划分为Input Runner、Processor Runner和Flusher Runner三大工作线程。流水线之间的隔离性通过以下设计保证:每条流水线按优先级分配相应的时间片;每个流水线拥有独立的处理和发送队列。在配置变更时,LoongCollector只对有变化的Pipeline采用新旧替换方式,其他未变化的Pipeline保持不变运行,避免了Stop The World对整体的影响。这种设计在总线模式下最大程度保证了多租户的隔离能力,同时不会因为多线程带来资源占用的成倍增长。
加载中...