apache-kafka - 加快 kafka 消费者处理,但确保事件的顺序
问题描述
我知道,如果我们有多个分区并且消费者组中的消费者数量几乎相同,那么处理速度将会加快。如果我们想维护事件的顺序并在收到事件时处理每个事件,我们如何通过多个分区和消费者来实现这一点。
在我的用例中,按顺序处理事件非常关键,否则系统将崩溃。我想使用多个分区来增加并行度,但以某种方式“让它们按顺序排列”。
解决方案
最简单的答案:你不能
一旦将数据拆分到分区,就无法保证消费顺序(即使是单个消费者)。是否有任何逻辑可以将数据分片到分区中,以便必须按顺序使用的消息最终会在同一个分区中?
推荐阅读
- algorithm - 中位数算法中位数的时间复杂度
- javascript - Onclicking单选按钮显示日历以及jquery中的一个输入框
- azure - 在 Azure 云中创建多个子帐户
- jquery - 使用 jQuery 根据 JoinOn 日期禁用/限制 LeaveOn 日期
- mysql - 如何汇总所有聚合值 SQL-Laravel?
- android - 错误:
- 内部元素必须是资源引用还是为空?
- spring - SQL 到 JPQL,如何查询嵌套的 JPQL
- git - Homebrew 安装的 gettext 和 git 不兼容?
- haskell - 为什么是 floatRange、floatRadix 和 floatDigits 函数?
- python - sys.getsizeof(int) 返回 400 字节