只有simpleconsumerapi提供了对每个使用者从哪个分区检索数据的控制,据说它具有更好的偏移管理。有人能详细解释一下,在使用不太复杂的高级消费者时,这种细粒度控制需要在哪些场景中进行。谢谢您。
v440hwme1#
实际上,新的消费者api是简单api集和高级api集的完美结合。seek()和assign()方法提供您提到的行为。无论哪种方式,都有一种方案涉及到为不同的分区分配优先级:例如,分区0可能是低优先级消息,分区1可能有高优先级消息。在这种情况下,您希望在使用分区0中的任何消息之前先使用分区1中的消息。在这种情况下,必须能够指示kafka从一个特定的分区进行读取。
ego6inou2#
当您想要完全控制消费者行为时:在网络通信出现问题时对代理进行无限次重试从特定主题分区读取数据您自己的偏移管理(以db存储偏移)简单性—它不关心其他使用者示例,因此不需要重新平衡。
2条答案
按热度按时间v440hwme1#
实际上,新的消费者api是简单api集和高级api集的完美结合。seek()和assign()方法提供您提到的行为。
无论哪种方式,都有一种方案涉及到为不同的分区分配优先级:例如,分区0可能是低优先级消息,分区1可能有高优先级消息。在这种情况下,您希望在使用分区0中的任何消息之前先使用分区1中的消息。在这种情况下,必须能够指示kafka从一个特定的分区进行读取。
ego6inou2#
当您想要完全控制消费者行为时:
在网络通信出现问题时对代理进行无限次重试
从特定主题分区读取数据
您自己的偏移管理(以db存储偏移)
简单性—它不关心其他使用者示例,因此不需要重新平衡。