【问题标题】:How does a Kafka producer behave during a network partition?Kafka 生产者在网络分区期间的行为如何?
【发布时间】:2014-07-31 12:56:21
【问题描述】:

我的理解是 Kafka 生产者向 Kafka 代理集群发送消息。我的问题是,在网络分区期间,kafka 生产者的行为是什么?如果分区太长(而且音量太大),最终消息会丢失吗?

另外,如果系统在分区期间崩溃,kafka队列中的所有消息都会丢失吗?

【问题讨论】:

  • 认为这是不可能的,希望有一个开源的解决方案。 issues.apache.org/jira/browse/KAFKA-156
  • 如果分区是指生产者和代理集群之间的网络故障,那么主要提交者会在 Kafka 聚会记录的 Q/A 部分讨论这个主题:ustream.tv/recorded/48396701将此问题转发到 01:14:30。
  • 总结视频......不,他们不支持在分区(或代理中断)的情况下溢出到磁盘。有人提到了一个“Go”客户端,它做了别人写的事情。目前不打算使用此 Producer 功能;他们目前的重点是集群和消费者。

标签: apache-kafka


【解决方案1】:

从 Ludd 的评论中回答。根据链接中的视频,他们不支持在分区(或代理中断)的情况下溢出到磁盘。提到了一个“Go”客户端,它做了别人写的事情。目前没有计划使用此 Producer 功能;他们目前的重点是集群和消费者。

视频中提到这不是他们的优先事项,至少出于某种原因对“滞后数据”而言。我想很多 Kafaka 的用例都是基于实时的,所以如果碰巧生产者断开连接几个小时,那么获得几个小时前的数据是“奇怪的”。

猜猜这是有道理的,因为那样您的消费者将不得不以某种方式处理滞后的数据(即这是一个应用程序问题)。

【讨论】:

    猜你喜欢
    • 2020-04-07
    • 2015-09-02
    • 2016-01-15
    • 2017-04-28
    • 2023-03-26
    • 2020-08-24
    • 2018-02-05
    • 2021-02-02
    • 2019-02-03
    相关资源
    最近更新 更多