为了分离我的数据,基于一个键:我应该在同一主题中使用多个主题还是多个分区?我是根据服务器的开销、计算、数据存储和负载来计算的。
发布于 2015-09-15 16:23:27
我建议在同一主题中将数据分离(分区)到多个分区中。我假设数据在逻辑上属于同一个位置(例如,一个单击事件流)。在同一个topic内使用多个分区对数据进行分区的好处主要是所有Kafka API都是这样实现的。
将数据拆分到主题中可能会导致生产者和消费者实现中的代码更多。
发布于 2015-09-16 14:25:07
正如@rmetzger所建议的那样,将记录分成多个主题会增加生产者级别的复杂性,然而,可能还有一些其他因素值得考虑。
在Kafka中,并行的主要级别是主题中的分区数量,因为有了这样的分区,您就可以产生大量的消费者实例,以保持并行地从同一主题读取数据。
例如,如果您有一个基于具有N个分区的事件的单独主题,那么在消费时,您将能够创建N个消费者实例,每个消费者实例专用于同时从特定分区消费。但是在这种情况下,不能保证消息的排序,即。当存在并行消耗时,消息的排序会丢失
另一方面,将同一主题中的记录放在单独的分区中将使其更容易实现,并按顺序消费消息(Kafka仅提供分区内消息的总排序,而不是主题中不同分区之间的排序。)。但在这种情况下,您将仅限于运行一个使用者进程。
https://stackoverflow.com/questions/32580892
复制相似问题