Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Java 根据需求在线程中创建卡夫卡制作人是一种不好的做法吗_Java_Multithreading_Api_Apache Kafka_Kafka Producer Api - Fatal编程技术网

Java 根据需求在线程中创建卡夫卡制作人是一种不好的做法吗

Java 根据需求在线程中创建卡夫卡制作人是一种不好的做法吗,java,multithreading,api,apache-kafka,kafka-producer-api,Java,Multithreading,Api,Apache Kafka,Kafka Producer Api,我们有一个要求,如果用户通过API发布消息,我们必须将该消息发布到kafka topic。每当有人提出要求时,我都会创建一个新的卡夫卡制作人 如果有多个用户进行API调用,我们将创建多个线程和多个生产者。这是个坏习惯。我是否应该更改逻辑。如果有帮助,KafkaProducer javadoc说:“生产者是线程安全的,跨线程共享单个生产者实例通常比拥有多个实例要快。”一般来说,生产者应该被重用。除了@KevinBoone提到的内容之外,您可以想象每次创建一个的开销。是否有需要为每个请求创建生产者的

我们有一个要求,如果用户通过API发布消息,我们必须将该消息发布到kafka topic。每当有人提出要求时,我都会创建一个新的卡夫卡制作人


如果有多个用户进行API调用,我们将创建多个线程和多个生产者。这是个坏习惯。我是否应该更改逻辑。

如果有帮助,KafkaProducer javadoc说:“生产者是线程安全的,跨线程共享单个生产者实例通常比拥有多个实例要快。”一般来说,生产者应该被重用。除了@KevinBoone提到的内容之外,您可以想象每次创建一个的开销。是否有需要为每个请求创建生产者的原因?