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