我正在设置Kafka,碰到一个订阅多个主题的消费者。我在conusmer-1
组中有一个消费者正在听create_record
,detroy_record
,update_record
。 destroy_record
和update_record
正在接收消息,但create_record
未接收任何消息。此外,destory_record
两次收到该消息。奇怪的是,当我在终端中添加消费者时,我得到了create_record
的记录和destroy_record
的一条记录。
我认为我知道这个问题,但仍不确定。我有另一个后端服务订阅了相同的create_record
,detroy_record
,update_record
,但属于不同的consumer-2
组。该服务从所有3个消息中获取消息就好了。
主题规格:
const Consumer = kafka.Consumer;
const client = new kafka.KafkaClient({
kafkaHost: PLACEHOLDER_FOR_HOST_STRINGSx3,
clientId: "service-1"
});
const topics = [{
topic: "create_record"
}, {
topic: "destroy_record"
}, {
topic: "update_record"
}];
const options = {
autoCommit: true,
fetchMaxWaitMs: 1000,
fetchMaxBytes: 1024 * 1024,
encoding: 'buffer',
groupId: 'consumer-1'
};
const consumer = new Consumer(client, topics, options);
...