关于 kafka 消息消费的一点小疑问

2020-03-10 14:11:14 +08:00
 sbt

问问各位大佬在自己公司的项目中用到 kafka 的时候,都是配置一个 topic 对应一个分区 partition 吗?(是为了保证消息被顺序消费吗?) 有没有 1 个 topic 对应多个分区的应用场景?

2454 次点击
所在节点    Java
7 条回复
lhx2008
2020-03-10 14:12:54 +08:00
多个分区可以一个客户端并发消费,速度会快一点。如果要求发送和接收顺序一致,也一个分区。
asAnotherJack
2020-03-10 14:14:19 +08:00
多个 partition 可以有多个消费者,对顺序没要求的话可以加快消费速度
xinyewdz
2020-03-10 14:17:25 +08:00
一个分区,那就无法横向扩展了。保证有序,可以指定 key。相同的 key 会被存储到同一个分区的。
sbt
2020-03-10 14:19:34 +08:00
@lhx2008
@asAnotherJack
明白了,多谢两位的解惑
lovelife1994
2020-03-10 14:25:09 +08:00
单个分区也无法保证一定是有序的,最多实现单个 producer 实例在某个分区是有序的。
lovelife1994
2020-03-10 14:35:12 +08:00
@lovelife1994 1.0 之后的幂等 producer 支持在单个 producer session 单分区内有序?之前配置 in-flight request 为 1
thinkmore
2020-03-11 17:51:58 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/651505

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX