【问题标题】:speed up kafka consumer processing but ensure ordering of events加快 kafka 消费者处理,但确保事件的顺序
【发布时间】:2018-12-06 02:47:33
【问题描述】:

我知道,如果我们有多个分区并且消费者组中的消费者数量几乎相同,那么处理速度会加快。如果我们想保持事件的顺序并在收到事件时处理每个事件,我们如何通过多个分区和消费者来实现这一点。

在我的用例中,按顺序处理事件非常关键,否则系统将崩溃。我想使用多个分区来增加并行度,但以某种方式“让它们按顺序排列”。

【问题讨论】:

  • 一般来说,如果你绝对需要跨分区排序,你会将数据转储到其他地方,比如 rdbms 或 Hadoop,然后按时间排序

标签: apache-kafka kafka-consumer-api


【解决方案1】:

最简单的答案:你不能

一旦将数据拆分为分区,就无法保证消费顺序(即使是单个消费者)。 是否有任何逻辑可以将数据分片到分区中,以便必须按顺序使用的消息最终会在同一个分区中?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-05
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 2017-03-29
    • 1970-01-01
    相关资源
    最近更新 更多