Mah*_*Ali 0 redis apache-kafka apache-storm
我试图在Kafka中表示主题和子主题。示例:主题“体育”子主题“足球”、“手球”
据我所知,卡夫卡不支持这一点。我现在使用的主题是“Sports_Football”、“Sports_Handball”这样的主题...这并不是真正有用的,因为当我们需要时,当我们想要主题“Sports”以及所有子项时,我们需要查询它的所有主题。
我们还使用Redis和Apache Storm。那么请问有更好的方法吗?
你是对的。然而,Kafka 中不存在“子主题”这样的东西,消耗所有以“体育”一词开头的主题是微不足道的。假设您使用的是 Java,一旦初始化了消费者,就可以使用该方法consumer.subscribe(Pattern.compile("^Sports_.+"))来订阅您的“子主题”。现在,调用consumer.poll(timeout)将读取以“Sports_”开头的所有主题。
这样做的唯一缺点是,当添加新的“Sports_”主题时,消费者将不得不重新订阅。
Apache Kafka 不支持它,你是对的。但Kafka支持消息分区。Kafka 提供保证,所有具有相同密钥的消息都会发送到同一个分区。
您可以使用所有分区,也可以仅使用单个分区。因此,您基本上可以为每种运动设置不同的键,以便分隔消息。
| 归档时间: |
|
| 查看次数: |
5241 次 |
| 最近记录: |