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
Apache kafka 卡夫卡同步发生器_Apache Kafka_Kafka Producer Api - Fatal编程技术网

Apache kafka 卡夫卡同步发生器

Apache kafka 卡夫卡同步发生器,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,我从制作人那里遇到了以下关于同步发送的内容。我知道上下文生成器中的异步机制 在此将来调用get()将被阻止,直到关联的请求 完成,然后返回记录的元数据或抛出任何 发送记录时发生的异常 关联请求complete的真正含义是什么?我很清楚,这不是指完整的请求,而是指这个短语在多大程度上是指什么?直到经纪人?直到生产商使用的缓冲区等 当ack=all与同步生产者和异步生产者一起使用时有什么不同?这两种情况都被阻止进行确认?生产者有一个内部队列来缓冲一些记录(基于配置linger.ms和min.batc

我从制作人那里遇到了以下关于同步发送的内容。我知道上下文生成器中的异步机制

在此将来调用get()将被阻止,直到关联的请求 完成,然后返回记录的元数据或抛出任何 发送记录时发生的异常

关联请求complete的真正含义是什么?我很清楚,这不是指完整的请求,而是指这个短语在多大程度上是指什么?直到经纪人?直到生产商使用的缓冲区等


当ack=all与同步生产者和异步生产者一起使用时有什么不同?这两种情况都被阻止进行确认?

生产者有一个内部队列来缓冲一些记录(基于配置
linger.ms
min.batch.size
)。有一个内部后台线程请求代理(leader分区所在的位置)发送批处理数据。根据配置
max.connections.in.flight
,生产者可以并行处理多个请求。这是指“关联请求”

当ack=all与同步生产者和异步生产者一起使用时有什么不同?两种情况都被阻止进行确认

get
方法将阻塞,直到对代理的请求完成,这意味着它收到了基于确认设置的所有确认


使用
get
方法始终会导致同步生产者。

生产者有一个内部队列来缓冲一些记录(基于配置
linger.ms
min.batch.size
)。有一个内部后台线程请求代理(leader分区所在的位置)发送批处理数据。根据配置
max.connections.in.flight
,生产者可以并行处理多个请求。这是指“关联请求”

当ack=all与同步生产者和异步生产者一起使用时有什么不同?两种情况都被阻止进行确认

get
方法将阻塞,直到对代理的请求完成,这意味着它收到了基于确认设置的所有确认


使用
get
方法总是会产生同步生产者。

感谢您的见解,非常有用。如果使用acks=all而不使用get方法(异步),则会发生什么行为?由于领导者需要等待来自ISRS的ACK,异步生产者仍将在前台线程或内部后台线程方面被阻止。如果acks=all,异步生产者将在回调中接收副本的响应。但是,您的代码没有被阻止。感谢您的见解,非常有用。如果使用acks=all而不使用get方法(异步),则会发生什么行为?由于领导者需要等待来自ISRS的ACK,异步生产者仍将在前台线程或内部后台线程方面被阻止。如果acks=all,异步生产者将在回调中接收副本的响应。但是,您的代码没有被阻止。