简介
-
负载均衡Sink 选择器提供了在多个sink上进行负载均衡流量的功能。 它维护一个活动sink列表的索引来实现负载的分配。
- 默认支持了轮询(round_robin)和随机(random)两种选择机制分配负载。
- 同样支持从AbstractSinkSelector继承写一个自定义的选择器。
-
工作时,此选择器使用其配置的选择机制选择下一个sink并调用它。 如果所选sink无法正常工作,则处理器通过其配置的选择机制选择下一个可用sink。 此实现不会将失败的接收器列入黑名单,而是继续乐观地尝试每个可用的接收器。 如果所有sink调用都失败了,选择器会将故障抛给sink的运行器。
-
如果
backoff
设置为true则启用了规避机制,失败的sink会被放入黑名单,达到一定的超时时间后会自动从黑名单移除。 如从黑名单出来后sink仍然失败,则再次进入黑名单而且超时时间会翻倍,以避免在无响应的sink上浪费过长时间。 如果没有启用规避机制,在禁用此功能的情况下,发生sink传输失败后,会将本次负载传给下一个sink继续尝试,因此这种情况下是不均衡的。- backoff规则如下图所示
- backoff规则如下图所示