[英]How to send messages to same topic using kafka producer ?
I have setup kafka client that produce and consume messages, it is working as expected when we send payloads from producer to topic, So i have problem with producer now first message i was able to send it to topic and i was also able to consume it from kafka topic , Now i am tryig to send second messages but consumer is not reading the second message from kafka topic, Any idea what is happening here ? 我已经设置了kafka客户端来产生和使用消息,当我们从生产者向主题发送有效负载时,它按预期工作,所以我对生产者有问题,现在第一个消息我能够将其发送到主题并且我也可以使用它来自kafka主题,现在我是tryig发送第二条消息,但是消费者没有阅读来自kafka主题的第二条消息,你知道这里发生了什么吗?
producer.js producer.js
var config = require('./config.js');
var zk = require('node-zookeeper-client');
var kafkaConn = "130.8";
var kafka = require('kafka-node'),
HighLevelProducer = kafka.HighLevelProducer,
client = new kafka.Client(kafkaConn),
producer = new HighLevelProducer(client),
payloads = [
{ topic: 'test', messages: 'second message' }
];
producer.on('ready', function () {
producer.send(payloads, function (err, data) {
console.log(data);
});
});
consumer.js Consumer.js
function start () {
topics = [{topic: 'test'}];
var groupId = 'ulogGroup';
var clientId = "consumer-" + Math.floor(Math.random() * 10000);
var options = {autoCommit: true, fetchMaxWaitMs: 100, fetchMaxBytes: 10 * 1024 * 1024, groupId: groupId};
console.log("Started consumer: ", clientId);
var consumer_client = new kafka.Client(kafkaConn,clientId);
var client = new Client(consumer_client.connectionString,clientId);
var consumer = new HighLevelConsumer(client, topics, options);
console.log("Consumer topics:", getConsumerTopics(consumer).toString());
// startConsumer(consumer);
consumer.on('message', function (message) {
//var topic = message.data;
console.log('Message',message);
});
};
start();
Could be the most trivial suggestion, but are you sure your second message is being sent to kafka queue ? 可能是最琐碎的建议,但是您确定您的第二条消息正在发送到kafka队列吗? Alongside your consumer, you may want to use inbuilt command line consumer while your producer is on work to publish messages, just to make sure all your messages are being published.
与您的使用者一起,您可能要在生产者正在工作时使用内置的命令行使用者来发布消息,以确保所有消息都已被发布。
bin/kafka-console-consumer.sh --zookeeper host:2181 --topic test --from-beginning
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.