Flume:持久保存资源的可能性接收连接

时间:2015-11-17 17:19:19

标签: flume flume-ng

虽然这违反了Flume的基本设计原则,但我有一个问题。 是否有可能保持源与之间的联系;下沉并重复使用?

我们正在使用HTTP源,文件频道& Kafka下沉并使用该配置,由于源和设备的重新连接而未达到预期的吞吐量。为每个事件都沉沦。

那么,是否可以为多个事务重用相同的HTTP和Kafka连接? (即使使用自定义源和接收器)

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解您的问题......源和接收器之间没有直接通信,但它们通过通道连接。源将Flume事件放入通道,接收器获取这些事件;因为你正在使用文件通道,所以这样的放置和获取是在你的情况下的磁盘写入和读取;如果您使用的是内存通道,则写入和读取将与易失性存储器相关。

也许您想知道是否可以忽略该通道并直接将源构建的Flume事件传递给接收器......在这种情况下,Flume没有任何意义,因为这样的架构忽略了使用内部通道的所有好处(可靠性,容错性,负载峰值吸收......),以及负责接收数据并直接写入Kafka的简单脚本或应用程序可能符合您的需求(当然,这样的解决方案不会扩展,也不会出错宽容,您将不得不处理类似HTTP的数据接收和用于输出数据的Kafka API,以及如果不使用Flume,您会错过更多的东西。)

最后,您可能要求发送数据的外部数据源与接收它的Flume http源之间存在持久连接...这很有趣,我认为您可以通过发送大量来实现这种持久连接有关keep-alive http标头的值。