У меня есть топология Apache Storm, которая принимает сообщения из нескольких тем Kafka.Можете ли вы добавить/удалить KafkaSpouts для топологии топологии Apache Динамически
В настоящее время «множественный» означает «два».
Как я в настоящее время только два KafkaSpouts, чтобы слушать я жестко закодированы как в моем классе Топология и кодируется следующим образом: -
builder.setSpout(SPOUT_ONE_ID, kafkaSpout_A, 1);
builder.setSpout(SPOUT_TWO_ID, kafkaSpout_B, 1);
builder.setBolt(BOLT_ID, myBolt, 1).shuffleGrouping(SPOUT_ONE_ID).shuffleGrouping(SPOUT_TWO_ID);
однако число KafkaSpouts будет увеличиваться с течением времени, каждый новый KafkaSpout будет послушайте его собственную уникальную тему. Каждый раз, когда появляется новая тема, мне придется реализовать изменение кода в моей топологии и переустановить его.
Я бы предпочел, чтобы моя топология контролировалась внешним механизмом конфигурации, подобным файлу диска или таблице базы данных. Добавляя (или удаляя) детали Кафки, я хотел бы, чтобы моя топология начала (или останавливала) «прослушивание» этих тем.
Поддерживает ли этот тип динамической конфигурации Apache Storm?