首页 > 解决方案 > 具有 5 个分区和单个消费者的 kafka 仅从一个分区获取消息

问题描述

我们有一个消费者使用 5 个分区的 kafka 数据。消费者有 5 个 groupid。

我们注意到每个 groupid 只使用来自一个分区的消息。在代码中,我们使用 consumer.subscribe 订阅主题。

正如我们对一个消费者的理解,每个 groupid 需要使用来自所有分区的消息。

我们的假设错了吗?如果不是,是什么导致了问题?

private void subscribe() {
        consumer.subscribe( Collections.singletonList( topic ) );
    } catch ( IllegalArgumentException  e ){
        LOG.error( "Kafka Failed to subscribe to kafka client ", e );
        e.printStackTrace();
    } catch( IllegalStateException e ){
        LOG.error( "Kafka Failed to subscribe to kafka client ", e );
        e.printStackTrace();
    } catch ( Exception e ){
        LOG.error( "Kafka Failed to subscribe to kafka client, topic: " + topic , e );
    }

}

标签: javaapache-kafka

解决方案


推荐阅读