Flume 负载均衡和容错实现原理及过程

Failover Sink Processor 与Load balancing Sink Processor
Failover Sink:故障转移
  • 工作原理

    1. 发送消息失败的接收器放入一个冷却池中,并设定一个冷静期.随着重试失败次数的增加,冷静期会增加,
    2. 如果一旦接收器成功发送消息就恢复到活动池中
    3. 在接收器发送消息的时候失败,接下来,尝试一个更高优先级的接收器发送消息
    4. 故障转移接收器处理器维护一个按优先级排列的接收器列表;如果没有指定优先级,则根据配置中指定接收器的顺序确定优先级;maxpenalty属性设置故障转移时间的上限(以毫秒为单位)。
  • FailOver 过程
    Flume 负载均衡和容错实现原理及过程_第1张图片

load_balance:负载均衡
  • 工作原理

    1. 负载平衡接收器处理器提供了在多个接收器上实现负载平衡的能力.它维护一个索引活动的接收器列表,负载必须分布在这些接收器上.
    2. 分配机制:round_robin(循环)和random(随机选择),默认为round_robin
    3. 当调用时,该选择器使用其配置的选择机制选择下一个接收器,如果接收器不能接收消息,处理器则通过配置的选择机制,选择下一个可用的接收器
    4. 此实现,不会把失败的接收器列入黑名单,而是不断地尝试每个接收器
    5. 如果启用了backoff,失败的接收器将被列入黑名单,删除它们,以便在给定的超时时间内进行选择.超时结束,还没有响应,超时时间成倍增加.
    6. 禁用backoff,循环中所有失败的接收器的负载将传递给下一个接收器
    • 实现过程
      Flume 负载均衡和容错实现原理及过程_第2张图片flume采集txt或者文件夹的txt,如何保证flume挂了,重启后,不丢数据,还是从sink那个点数据开始采集
      source type:TailDIr,spooling

你可能感兴趣的:(Flume)