Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡的信息排序_Apache Kafka - Fatal编程技术网

Apache kafka 卡夫卡的信息排序

Apache kafka 卡夫卡的信息排序,apache-kafka,Apache Kafka,我是卡夫卡的新手,这是我在这里的第一篇帖子,请耐心听我说;) 我们目前正在为我们的用例设计卡夫卡。我正在进行POC测试,对以下结果感到困惑。我确信我错过了某种配置,这导致了这种情况,但请有人看一看,并建议我错过了什么: 我有一个简单的Java producer(下面是Java producer代码片段) 和一个简单的Java使用者(下面是Java使用者代码片段) 我有3个代理集群,一个主题是“测试输入”,分区=1,复制因子=3 还有一个混沌脚本,它使用leader分区和另一个随机代理停止代理(

我是卡夫卡的新手,这是我在这里的第一篇帖子,请耐心听我说;)

我们目前正在为我们的用例设计卡夫卡。我正在进行POC测试,对以下结果感到困惑。我确信我错过了某种配置,这导致了这种情况,但请有人看一看,并建议我错过了什么:

  • 我有一个简单的Java producer(下面是Java producer代码片段)
  • 和一个简单的Java使用者(下面是Java使用者代码片段)
  • 我有3个代理集群,一个主题是“测试输入”,分区=1,复制因子=3
  • 还有一个混沌脚本,它使用leader分区和另一个随机代理停止代理(每5分钟一次)。然后在停止3分钟后重新启动停止的代理
  • 生产者和消费者都使用该属性连接到所有3个经纪人。。。config.put(“bootstrap.servers”,“10.11.29.187:9092,10.11.29.188:9092,10.11.29.189:9092”)
JAVA生产者代码片段:

for(long i=1; i <= 1000000; i++)  
{  
        producer.send(new ProducerRecord<String, String>("test-input", null, Long.toString(i)));  
        Thread.sleep(10);  
} 
long saveLong=0;  
String saveRec=null;  
while (true) {  
    ConsumerRecords<String, String> records = kafkaConsumer.poll(Duration.ofMillis(1000));  
    for (ConsumerRecord<String, String> record : records) {  
        long thisLong = Long.parseLong(record.value());  
        System.out.println(record.value());  
        if((thisLong - saveLong)!=1){  
                System.out.println("unexpected values between old record >"+saveRec+"< and new record >"+record.value()+"<");  
        }  
        saveLong = thisLong;  
        saveRec = record.value();  
    }  
}  
用于(长i=1;i 8733<和新记录>8737
8737<和新记录>8736之间的意外值
8736<和新记录>8735之间的意外值
8735<和新记录>8734之间的意外值
8734<和新记录>8733之间的意外值
8733<和新记录>8738之间的意外值
46236<和新记录>46240之间的意外值
46240<和新记录>46239之间的意外值
46239<和新记录>46238之间的意外值
46238<和新记录>46237之间的意外值
46237<和新记录>46236之间的意外值
旧记录>46236<和新记录>46241之间的意外值在生产者配置中将max.in.flight.requests.per.connection设置为1,并检查其是否有效。参考:。如果超过1条消息被重新排序并不重要,但您可以使用LongSerializer获取该值。非常感谢A.Dev和Cricket@shma它起作用了吗?设置max.in.flight.requests.per.connection连接到producer配置中的1,并检查其是否工作。参考:。如果超过1条,则重新排序邮件并不重要,但您可以使用LongSerializer获取值。非常感谢A.Dev和Cricket@shma它起作用了吗?