我正在查看Kafka的Consumer Config。

  • https://kafka.apache.org/documentation/#newconsumerconfigs

  • 触发重新平衡的参数是什么?例如,以下参数将为?。我们需要更改或将其设为默认值的任何其他参数

    connections.max.idle.ms在此配置指定的毫秒数后关闭空闲连接。长540000中

    此外,我们有三个不同的主题
  • 具有来自多个主题的同一个消费者组(相同ID)是一个坏主意吗?
  • 假设以上情况是否有效(不一定是最佳实践)-如果主题之一是流量很小,那么它将导致Consumer组重新平衡。

    后续问题-哪些因素会影响再平衡及其性能。
  • 最佳答案

    这些条件将触发组重新平衡:

    具有来自多个主题的相同消费者组(相同ID)是一个坏主意吗?
    至少它是有效的,无论好坏,都取决于您的详细情况。
    官方的Java客户端api支持此功能,请参见以下方法定义:

    public void subscribe(Collection<String> topics,
                 ConsumerRebalanceListener listener)
    
    它接受一系列主题。
    如果主题之一是访问量很小,它将导致Consumer组重新平衡。
    不,因为没有在条件中列出。如果仅从主题方面考虑。仅当删除主题或更改分区计数时,才会发生重新平衡。
    更新。
    感谢@Hans Jespersen对 session 和听音的评论。
    这是由kafka Consumer Javadoc引用的:

    在您的问题中,您询问哪些参数将触发重新平衡
    在这种情况下,有两个与重新平衡有关的配置。这是 session.timeout.ms max.poll.records 。它的手段是显而易见的。
    由此,我们还可以了解到在轮询之间进行大量工作是一种不好的做法,开销的工作可能会阻塞心跳并导致 session 超时。

    关于apache-kafka - Kafka Consumer(Group)触发重新平衡的条件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45888291/

    10-13 04:20