在大量实时Java Web应用程序中,我正在向apache kafka发送消息.目前我正在发送一个主题,但将来我可能需要向多个主题发送消息.
在这种情况下,我不确定每个主题创建一个制作人的天气,还是我应该使用单个制作人来处理我的所有主题?
这是我的代码:
props = new Properties(); props.put("zk.connect",:<2181>, :<2181>, :<2181>); props.put("zk.connectiontimeout.ms", "1000000"); props.put("producer.type", "async"); Producer producer = new kafka.javaapi.producer.Producer (new ProducerConfig(props)); ProducerData producerData1 = new ProducerData ("someTopic1", messageTosend); ProducerData producerData2 = new ProducerData ("someTopic2", messageTosend); producer.send(producerData1); producer.send(producerData2);
如您所见,一旦创建了生产者,我就可以使用它将数据发送到不同的主题.我想知道什么是最佳做法?如果我的应用程序发送到多个主题(每个主题获得不同的数据)可以/我应该使用单个生产者还是应该创建多个生产者?什么时候(一般来说)我应该使用多个生产者?