首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kafka主题或分区级别的并行性

Kafka主题或分区级别的并行性
EN

Stack Overflow用户
提问于 2015-09-15 16:08:41
回答 2查看 2.1K关注 0票数 0

为了分离我的数据,基于一个键:我应该在同一主题中使用多个主题还是多个分区?我是根据服务器的开销、计算、数据存储和负载来计算的。

EN

回答 2

Stack Overflow用户

发布于 2015-09-15 16:23:27

我建议在同一主题中将数据分离(分区)到多个分区中。我假设数据在逻辑上属于同一个位置(例如,一个单击事件流)。在同一个topic内使用多个分区对数据进行分区的好处主要是所有Kafka API都是这样实现的。

将数据拆分到主题中可能会导致生产者和消费者实现中的代码更多。

票数 0
EN

Stack Overflow用户

发布于 2015-09-16 14:25:07

正如@rmetzger所建议的那样,将记录分成多个主题会增加生产者级别的复杂性,然而,可能还有一些其他因素值得考虑。

在Kafka中,并行的主要级别是主题中的分区数量,因为有了这样的分区,您就可以产生大量的消费者实例,以保持并行地从同一主题读取数据。

例如,如果您有一个基于具有N个分区的事件的单独主题,那么在消费时,您将能够创建N个消费者实例,每个消费者实例专用于同时从特定分区消费。但是在这种情况下,不能保证消息的排序,即。当存在并行消耗时,消息的排序会丢失

另一方面,将同一主题中的记录放在单独的分区中将使其更容易实现,并按顺序消费消息(Kafka仅提供分区内消息的总排序,而不是主题中不同分区之间的排序。)。但在这种情况下,您将仅限于运行一个使用者进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32580892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档