我是卡夫卡的新手。我已经使用kafka_2.9.2-0.8.1.1创建了示例kafka同步生产者和消费者组程序。所以我的问题是,我是否需要向生产者添加多线程代码(就像consumergroup类一样)来支持大量的请求?我读到生产者发送方法是线程安全的。那么kafka producer将在内部处理多线程概念,还是开发人员必须显式编码?
任何帮助都将不胜感激。
谢谢,Cdhar
发布于 2015-02-16 20:01:58
Kafka提供了两种类型的生产者。(1) SyncProducer (2) AsyncProducer。如果将producer.type配置设置为async,它将使用AsyncProducers。默认情况下,它使用同步生产者类。
一旦在异步模式下运行,它就会为每个broker.And创建一个单独的AsyncProducer实例,每个AsyncProducer实例都维护自己的内部后台线程来发送消息。这些被称为ProducerSendThread。
因此,每个代理运行一个线程,您的并行度基于集群中可用代理的数量。因此,在集群中添加新的代理应该为您提供灵活性,以便在使用Kafka.But生成数据的同时提高并行度。请记住,应该考虑将新的代理添加到集群中,同时还要考虑其他参数。
https://stackoverflow.com/questions/28540425
复制相似问题