В режиме реального времени Java-приложение в реальном времени я отправляю сообщения на адрес apache kafka. В настоящее время я отправляю одну тему, но в будущем мне может потребоваться отправить сообщения по нескольким темам.Сколько продюсеров создавать в кафке?
В этом случае я не уверен, что погода создаст производителя для каждой темы или я должен использовать одного производителя для всех моих тем?
Вот мой код:
props = new Properties();
props.put("zk.connect", <zk-ip1>:<2181>,<zk-ip3>:<2181>,<zk-ip3>:<2181>);
props.put("zk.connectiontimeout.ms", "1000000");
props.put("producer.type", "async");
Producer<String, Message> producer = new kafka.javaapi.producer.Producer<String, Message>(new ProducerConfig(props));
ProducerData<String, Message> producerData1 = new ProducerData<String, Message>("someTopic1", messageTosend);
ProducerData<String, Message> producerData2 = new ProducerData<String, Message>("someTopic2", messageTosend);
producer.send(producerData1);
producer.send(producerData2);
Как вы можете видеть, когда производитель был создан, я могу использовать его для передачи данных на различные темы. Интересно, что такое лучшая практика? Если мое приложение отправляет несколько тем (каждая тема получает разные данные), могу ли я использовать одного производителя или мне нужно создать несколько продюсеров? Когда (вообще говоря) я должен использовать больше одного производителя?