简体   繁体   English

如何使用kafka producer向同一主题发送消息?

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

相关问题 如何有条件地轮询来自 Kafka 主题的消息 - How to conditionally poll messages from Kafka Topic 同一个消费者组中的多个Kafka Consumer如何从topic中的一个partition读取消息? - How multiple Kafka Consumers in the same consumer group read messages from one partition in the topic? 如何避免使用Node.js重复发送到Kafka主题中的消息? - How to avoid duplication of messages that are being pushed into a Kafka topic using Node.js? 如何使用 kafka-node 从 Kafka 主题中删除消息 - How to remove a message from the Kafka topic using kafka-node 如何将数据发送到Node JS中的多个Kafka主题分区 - How to send data to multiple Kafka topic partitions in Node JS 消费者有没有办法向使用 kafka(kafka.js) 和 node.js 实现的生产者发送确认? - Is there any way for a Consumer to send an acknowledgement to a producer implemented using kafka(kafka.js) and node.js? Node.js和Kafka:消息未发布到kafka主题 - Node.js and Kafka: Messages not publishing to the kafka topic Node.js:如何使用kafka-node从主题开始获取消息? - Node.js: How to use kafka-node for fetching messages from beginning from a topic? 如何使用kafka-node从主题读取数据? - How to read data from topic using kafka-node? 如何为kafka主题创建消费者? - How to create consumer for kafka topic?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM