我正在开发一个应用程序/ Kafka集群,它将生成/消费消息(大约每秒100k)到主题。消息格式完全相同,所以我最初的想法是为所有消息提供一个主题。
然而,Kafka将消息分成多个主题有什么好处吗?可以应用逻辑分离,可以将主题分成多个(10个)主题。
除了生产者/消费者方面的东西。 Kafka本身是否有关于性能,冗余,稳定性,管理等的偏好,有一个大主题而不是多个较小的主题?
答案 0 :(得分:1)
主题分区是并行化Kafka的常用方法,但如果您愿意,也可以选择将其拆分为多个主题。但我首先会研究事物的分区方面。 Here is a good Confluent article了解如何选择正确数量的分区。特别要注意的是,如果您在密钥上进行分区,那么在事后添加分区可能会导致分割数据,因此请尽可能正确地考虑它。
答案 1 :(得分:0)
kafka中的并行性取决于主题中的分区数量。只要分区数量最佳(不必要的大量分区将产生开销),数据吞吐量就会增加。通过增加数量消费者,您可以同时从分区流式传输消息