[英]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.