如何使用null键在不同分区上为同一主题生成消息

时间:2017-11-02 10:03:19

标签: c# apache-kafka confluent-kafka

我刚遇到卡夫卡而且刚接触过它。因此,在进行设置时,我创建了6个分区[0,1 ... 5]并尝试将带有空键的消息存储到不同的分区

例如:

var Config = new Dictionary<string, object> {
    { "group.id", "topic1_group" },
    { "bootstrap.servers", "localhost:9092" },
    { "default.topic.config",new Dictionary<string, object> {
                               { "acks", 1}
                            }
    }
};

var producer = new Producer<string, string>(Config, new StringSerializer(Encoding.UTF8), new StringSerializer(Encoding.UTF8));
return await producer.ProduceAsync("topic1", null, "Message1");

但是当我尝试运行我的生产者类代码时,它会存储在同一个分区中。

修改:

Kafka Response: partition 4, offset 10

现在,再次生成下一条消息 - topic1

Kafka Response: partition 4, offset 11

服务器和客户端分别更新为Kafka版本0.10.0和0.9.0。

1 个答案:

答案 0 :(得分:0)

好像您正在返回一个发送请求的结果。

尝试循环生成消息,而不是重新启动应用程序,因此重新启动循环分区