kafka-node, потребители в группе потребителей не получают назначенных им разделов

Версия узла среды: 10.15.3 Версия узла Kafka: 5.0.0 Версия узла Kafka (один узел): 2.3.0 Количество брокеров: 1 Количество разделов для темы: 1

мое приложение состоит из микросервисов, и каждая микрослужба может иметь от 1 до 3 запущенных экземпляров (каждое сообщение должно получать только один). поэтому, если я понял правильное использование групп потребителей kafka, при запуске каждой ms создается группа потребителей (новая ConsumerGroup в kafka-node js) с groupId имени ms (уникально на ms), каждая тема добавляется с 1 раздел, и я решил, что только один потребитель будет потреблять сообщения из этого раздела, и если потребитель покинет группу, какой-то другой потребитель начнет использовать сообщения из этого раздела.

иногда создается группа потребителей и добавляются темы, но, когда я запускаю команды из докера kafka, я вижу, что для раздела не назначен потребитель, и я не могу найти причину.

команда: kafka-consumer-groups.sh --describe --group ums --bootstrap-server localhost:9092

правильный ответ:

ТЕМА РАЗДЕЛ CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID

resConfig_update 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

reseller_delete 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

reseller_create 0 0 0 0 ums-consumer-1575794029875-4f78bb47-84f9-4d75-bede-3b838802723f /172.16.103.20 ums-consumer-1575794029875

иногда я получаю это:

ТЕМА РАЗДЕЛ CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID -

resConfig_update 0 0 0 0 - - -

reseller_delete 0 0 0 0 - - -

reseller_create 0 0 0 0 - - -

я отправляю SyncGroupRequest от потребителя для устранения проблемы, и я вижу, что у потребителя нет назначенных ему разделов. это создание consumerGroup:

let options = {
        id: `ums-consumer-${Date.now()}`,
        clientId: `ums-consumer-${Date.now()}`,
        kafkaHost: host, 
        groupId: 'ums',
        protocol: ['roundrobin'],
        idleConnection: 60000,
        fromOffset: 'earliest'
    };

    let ConsumerGroup = kafka.ConsumerGroup;
    let consumer = new ConsumerGroup(options, 
        ['reseller_create','reseller_delete', 'resConfig_update']);

я видел сообщение о подобной проблеме, но это не сработало:https://github.com/SOHU-Co/kafka-node/issues/339

0 ответов

Другие вопросы по тегам