Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Asynchronous 在同步模式下如何提高Kafka Producer的性能_Asynchronous_Apache Kafka_Kafka Producer Api - Fatal编程技术网

Asynchronous 在同步模式下如何提高Kafka Producer的性能

Asynchronous 在同步模式下如何提高Kafka Producer的性能,asynchronous,apache-kafka,kafka-producer-api,Asynchronous,Apache Kafka,Kafka Producer Api,我开发了一个Kafka版本:0.9.0.1应用程序,它不能丢失任何消息 我有一个约束,即消息必须按正确的顺序使用 为了确保不丢失任何消息,我在应用程序代码中实现了重试,并将生产者配置为ack=all 为了强制执行异常处理并快速失败,我立即从Producer.send()返回Future,例如 final Future<RecordMetadata> futureRecordMetadata = KAFKA_PRODUCER.send(producerRecord); futureRe

我开发了一个
Kafka版本:0.9.0.1
应用程序,它不能丢失任何消息

我有一个约束,即消息必须按正确的顺序使用

为了确保不丢失任何消息,我在应用程序代码中实现了重试,并将生产者配置为
ack=all

为了强制执行异常处理并快速失败,我立即从
Producer.send()
返回
Future
,例如

final Future<RecordMetadata> futureRecordMetadata = KAFKA_PRODUCER.send(producerRecord);
futureRecordMetadata.get();
是否可以异步发送卡夫卡消息,并保证它们始终以正确的顺序安全到达

更新001

我是否可以直接从主题中使用卡夫卡消息键顺序的消息

或者我必须按偏移量顺序使用消息,然后以编程方式进行排序
要发送卡夫卡消息密钥顺序吗?

如果您希望总订单,则发送性能很差。(实际上,总订单情况非常罕见)。

如果分区顺序可以接受,则可以使用多线程生成器。每个分区有一个生产者/线程。

我们只能使用一个分区,因为这是我们保证发送序列的方式。您正在处理什么样的数据?database binlog?数据库在DBMS插入、更新和删除之后的行之前和之后。这就是为什么我的信息必须保持正确的顺序
130 [NamedConnector-Monitor] WARN org.apache.kafka.clients.producer.ProducerConfig - The configuration request.required.acks = -1 was supplied but isn't a known config.