5 SinkProcessor
SinkProcessor:协同多个sink间进行load balance和fail over
(一)、Default Sink Processor:只有一个sink,无需创建SinkProcessor
不配置时就有,默认的Sink Processor。
(二)、Failover Sink Processor:
启动时只启动一个sink,这里优先启k2,一旦k2失败时,启动k1,且k2冷却一段时间。
1. 可定义每个sink的优先级 ,这里先启动k2
2. 可定义失败的sink最大backoff时间
(三)、Load balancing Sink Processor
round_robin:使用轮询的方式来顺序使用k1,k2。两个sink交替工作。
random:随机的选择一个来工作,过一段时间后再随机选择一个来工作。
1. selector可选round_robin(默认)或random
2. 可定义对于失败的sink是否backoff
3. 可定义失败的sink最大backoff时间
源码:
FailoverSinkProcessor 和 LoadBalancingSinkProcessor
总结:
思维导图