rsyslog内部的“kafka”: queue 队列详解(R08)

506 阅读1分钟

  如果只有一个对象对于理解rsyslog的工作方式至关重要,那么该对象就是队列。队列提供各种服务,包括对多线程的支持。每当两个活动需要松散耦合时(用于削峰填谷或临时中转),Rsyslog就会使用队列(Queues)。

  Queue是rsyslog中很重要的概念,了解队列对理解rsyslog运行机制大有裨益,并能在生产中产生实际效用!

数据流

可以参考rsyslog消息流处理原则.

数据总是要经历2个阶段,从主队列到action队列(需要清楚的是,每个动作前面都有一个队列)。

了解队列

  • 主消息队列

    • 主消息队列。每当rsyslog接收到一条消息时(例如,在本地,通过UDP,TCP或以其他任何方式),它将把这些消息放入主消息队列中。
  • Action队列

    • 进入主队列以后,它由规则处理器出队,然后由处理器评估要执行的动作。在每个动作之前,还有一个队列,该队列可能使筛选器处理与实际动作脱钩(例如,写入文件,数据库或转发到另一台主机)。

在哪里使用队列