【发布时间】:2018-11-23 08:04:10
【问题描述】:
我编写了一个简单的生产者,它在按钮单击时向 Kafka 发送消息。
class Producer : IProducer
{
public void produce(string msg, string topic)
{
var config = new Dictionary<string, object>
{
{"bootstrap.servers", "localhost:9092" }
};
using (var producer = new Producer<Null, string>(config, null, new StringSerializer(Encoding.UTF8)))
{
var m = producer.ProduceAsync(topic, null, msg).Result;
}
}
}
我的问题是 - 如何编写一个消费者,它会在按钮单击时引发并接收来自 Kafka 的最新发布消息并将其保存到本地磁盘上某处的 txt 文件中?这是我现在写的:
public class Consumer
{
public void Consume(string topic)
{
var config = new Dictionary<string, object>
{
{"group.id", "consumer-latest-msg" },
{"bootstrap.servers", "localhost:9092" },
{"auto.commit.interval.ms", 5000 },
{"auto.offset.reset", "latest" }
};
using (var consumer = new Consumer<Null, string>(config, null, new StringDeserializer(Encoding.UTF8)))
{
//what to do?
}
}
}
【问题讨论】:
标签: c# .net apache-kafka kafka-consumer-api confluent-platform