【问题标题】:Flume: Possibility of persisting the Source & Sink connectionsFlume:保持 Source 和 Sink 连接的可能性
【发布时间】:2015-11-17 17:19:18
【问题描述】:

虽然这违反了 Flume 的基本设计原则,但我有一个问题。 这是否可以保持源和接收器之间的连接并重用?

我们正在使用 HTTP 源、文件通道和 Kafka 接收器,并且在该配置下,由于每个事件都重新连接源和接收器,因此无法获得预期的吞吐量。

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

【问题讨论】:

    标签: flume flume-ng


    【解决方案1】:

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

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

    最后,您可能会要求在发送数据的外部数据源和接收数据的 Flume http 源之间建立持久连接......这很有趣,我认为您可以通过发送关于 @ 的较大值来实现这种持久连接987654321@http头。

    【讨论】:

    • 感谢您的详细解释。对不起,我不能正确地表达我的想法。你的最后一段正确地表达了我的需要。我想保持HTTP客户端和HTTP源之间的连接,你说可以通过keep-alive来实现。其次,我也想保持 Kafka sink 和 Kafka 集群之间的连接。
    猜你喜欢
    • 1970-01-01
    • 2019-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-30
    • 2019-08-01
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    相关资源
    最近更新 更多