截至 OCTOBER 2019 和 Kafka v2.3.0 和 Zookeeper v3.5.5
场景:
请考虑以下情况,在此情况下,消费者可以根据以下假设从某个主题获取记录;
max.partition.fetch.bytes
之类的配置参数的形式实现和提供。问题:
请对此进行指导。提前非常感谢您。
答案 0 :(得分:0)
NPM软件包 kafkajs 确实支持并帮助您使用 fetch_per_record 机制,以下是实现此目的的示例代码,
const { Kafka } = require('kafkajs')
const kafka = new Kafka({
clientId: 'my-app',
brokers: ['192.168.1.172:9092']
})
const consumer = kafka.consumer({ groupId: 'test-group' })
const run = async () => {
await consumer.connect()
await consumer.subscribe({ topic: 'test', fromBeginning: false })
await consumer.run({
eachMessage: async ({ topic, partition, message }) => {
console.log({
partition,
offset: message.offset,
value: message.value.toString(),
})
},
})
}
run().catch(console.error);
在上面的代码中,您有eachMessage
方法可帮助我们实现此机制