簡體   English   中英

kafkajs:有沒有辦法在消費者組中創建動態數量的消費者?

[英]kafkajs: Is there a way to create dynamic number of consumer in consumer group?

我正在使用 kafkajs 庫在 nodejs 中實現 kafka 消費者。 我試圖在 kafkajs 官方文檔中找到參數,我可以在其中指定消費者組中所需的消費者數量,但我找不到任何參數。

 const kafka = await kafkaService.instantiateKafkaConnection()
 const kafkaConfig: IKafkaConfig = await kafkaService.getKafkaConfigs()
 const consumer = kafka.consumer({ groupId: kafkaConfig?.consumerConfig?.groupId});
 
 await consumer.connect()
 await consumer.subscribe({ topics: kafkaConfig?.topicConfig?.topic })
        
 await consumer.run({
     eachMessage: async ({ topic, partition, message }) => {
         // business logic
     },
 })
    for(int i=0; i<noOfConsumer; i++){
        const kafka = await kafkaService.instantiateKafkaConnection()
        const kafkaConfig: IKafkaConfig = await kafkaService.getKafkaConfigs()
        const consumer = kafka.consumer({ groupId: kafkaConfig?.consumerConfig?.groupId});

        await consumer.connect()
        await consumer.subscribe({ topics: kafkaConfig?.topicConfig?.topic })
       
        await consumer.run({
            eachMessage: async ({ topic, partition, message }) => {
                // business logic
            }
        })    
    }

我能想到的唯一方法是循環創建多個消費者的相同代碼。 有沒有辦法在kafkajs消費者實例中傳遞消費者數量? 有參數partitionsConsumedConcurrently但它實際上並沒有創建消費者。

正如@oneCricketeer 所建議的,我們需要部署具有相同消費者組 ID 的多個應用程序實例,以便創建多個消費者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM