Apache kafka Kafka Producer-默认情况下支持多线程?

Apache kafka Kafka Producer-默认情况下支持多线程?,apache-kafka,Apache Kafka,我是卡夫卡的新手。我已经使用kafka_2.9.2-0.8.1.1创建了kafka同步制作人和消费者组示例程序。 所以我的问题是,我是否需要向生产者添加多线程代码(如consumergroup类)以支持大量请求?我知道生产者发送方法是线程安全的。 所以kafka producer将在内部处理多线程概念,还是开发人员必须显式编码 任何帮助都将不胜感激 谢谢, 卡夫卡有两种类型的制作人。(1) 同步生产者(2)异步生产者。如果将producer.type配置设置为async,它将使用AsyncPro

我是卡夫卡的新手。我已经使用kafka_2.9.2-0.8.1.1创建了kafka同步制作人和消费者组示例程序。 所以我的问题是,我是否需要向生产者添加多线程代码(如consumergroup类)以支持大量请求?我知道生产者发送方法是线程安全的。 所以kafka producer将在内部处理多线程概念,还是开发人员必须显式编码

任何帮助都将不胜感激

谢谢,
卡夫卡有两种类型的制作人。(1) 同步生产者(2)异步生产者。如果将
producer.type
配置设置为
async
,它将使用
AsyncProducers
。默认情况下,它使用同步生产者类

在异步模式下运行后,它会为每个代理创建一个单独的AsyncProducer实例。每个AsyncProducer实例都维护自己的内部后台线程以发送消息。这些被称为
ProducerSendThread


因此,每个代理有一个线程运行,您的并行性基于集群中可用的代理数量。因此,在集群中添加新代理应该为您提供灵活性,以便在使用Kafka生成数据时提高并行度。但请记住,在集群中添加新代理时,还应考虑其他参数。

谢谢您提供的信息。根据卡夫卡文档,最新的卡夫卡0.8.2有了新的生产者,这似乎更先进。让我试试这个。谢谢,太好了,我很想得到sameto的反馈,以澄清集群中有1个代理(test env)的情况,例如,如果代理上的异步发送因超时而受阻。这是否意味着整个“异步”线程将被阻塞,直到成功交付此1记录?