Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为卡夫卡主题分配优先级_Java_Apache Kafka_Apache Kafka Streams_Priority Queue - Fatal编程技术网

Java 如何为卡夫卡主题分配优先级

Java 如何为卡夫卡主题分配优先级,java,apache-kafka,apache-kafka-streams,priority-queue,Java,Apache Kafka,Apache Kafka Streams,Priority Queue,如何为卡夫卡主题分配优先级,以便所有消费群体中的所有消费者首先阅读优先级较高的主题,如果优先级较高的主题中没有消息,则应转移到优先级较低的主题。另外,如何使其先发制人,以便每当新消息到达更高优先级的主题时,使用者都应该再次转向它们。您应该通过代码实现这一点,一种方法是使用不同的分区设置一个主题,并实现PartitionAssignor接口,向大多数分区发送“高”优先级密钥“meduim”“减少”和“低”到“低”,如10,5,3,这样消费者将避免饥饿情况,并且你的“高”消息将具有更高的处理关注度消

如何为卡夫卡主题分配优先级,以便所有消费群体中的所有消费者首先阅读优先级较高的主题,如果优先级较高的主题中没有消息,则应转移到优先级较低的主题。另外,如何使其先发制人,以便每当新消息到达更高优先级的主题时,使用者都应该再次转向它们。

您应该通过代码实现这一点,一种方法是使用不同的分区设置一个主题,并实现PartitionAssignor接口,向大多数分区发送“高”优先级密钥“meduim”“减少”和“低”到“低”,如10,5,3,这样消费者将避免饥饿情况,并且你的“高”消息将具有更高的处理关注度

消费者API没有这样的设置,这种情况下没有实现吗?我认为优先级队列应该是该案例的解决方案,但我无法通过编码完成这一过程并获得错误的输出。欢迎您编辑您的问题,以包括您在triedI实施该案例时所遇到的问题(bucket priority pattern)但是我被这个案例困住了,特别是在我需要消费者在主题之间切换的情况下,如果在更高优先级的主题中没有消息。如果有任何传入的消息,应该再次切换。这就是为什么使用一个主题和使用consumer group的分区应该为您提供更好的实现解决方案的原因