Apache kafka 如何在Kafka中对主题/分区进行分类?

Apache kafka 如何在Kafka中对主题/分区进行分类?,apache-kafka,kafka-consumer-api,apache-kafka-streams,Apache Kafka,Kafka Consumer Api,Apache Kafka Streams,例如,用户可以订阅特定类别的电影 当一部新电影在卡夫卡上映时,我必须向订阅该电影类别的消费者发送相关信息 这怎么办?使用分区还是主题?因为类别可以超过1000个。只需创建一个主题用户订阅,其中至少包含用户ID和类别ID。对于每个订阅,请确保为同一用户创建不同的记录。比如说, {"subscriptionID": 1, "userID": 1, "categoryID": 100} {"subscriptionID": 2, "userID": 1, "categoryID": 26} ...

例如,用户可以订阅特定类别的电影

当一部新电影在卡夫卡上映时,我必须向订阅该电影类别的消费者发送相关信息


这怎么办?使用分区还是主题?因为类别可以超过1000个。

只需创建一个主题
用户订阅
,其中至少包含
用户ID
类别ID
。对于每个订阅,请确保为同一用户创建不同的记录。比如说,

{"subscriptionID": 1, "userID": 1, "categoryID": 100}
{"subscriptionID": 2, "userID": 1, "categoryID": 26}
...

现在,请确保按
categoryID
对该主题进行分区,以便将同一类别的记录放置在同一分区中


现在,一旦您的应用程序识别出一个特定类别的新电影,您只需浏览包含该类别所有订阅的分区记录,并在消费时,使用
用户ID
通知用户新电影

您是指主题
用户订阅
和主题分区内的特定键
categoryID
。在这种情况下,分区可能会超过1000,正如我所知,对于卡夫卡来说,从性能的角度来看,它不是很好,不是吗?所以。还有关于你的第二句话,我是否应该创建主题电影,当电影被添加到这个主题中时,我必须获得电影的类别,然后获得下一个内容?你只需要查看分区的记录,你的意思是通过哪些记录?@AliceMessis我不会这么说。分区是在Kafka中实现高(er)性能的最终方法(假设您的总体配置和体系结构合理)。@AliceMessis Kafka Streams或简单的Kafka使用者。