Добрый день всем. Столкнулся с такой архитектурной проблемой в Kafka.
Все варианты использования Kafka, которые я видел в интернете подразумевают её использование как трубы в которую сливается дата трафик. Например есть кластер с логами , мы сливаем логи, и на выходе у нас кластер который молотит эти логи. Но если почитать мануалы по продукту, то можно увидеть, что кластер кафка позволяет использовать идеологию Point-to-Point. А вот примеров как эту идеологию настроить что то я не нашел.
Собственно, к чему вопрос. Есть система с множеством агентов, агенты собирают бизнес данные. Собранные данные передаются через Kafka на обрабатывающие сервера. С этим проблем нет. Проблема возникает с управляющим каналом до агентов. Хотелось бы его сделать силами Kafka. И не городить еще один протокол для того чтобы размещать задания на агентах.
Как вариант на каждого агента создавать свой топик, тогда я смогу гарантировать что каждый агент читает свои команды, и не может залезть в чужой поток команд, и что все команды будут прочитаны. Но такое решение с моей точки зрения не будет изящным.
Хотелось бы что то типа создать топик с именем Control, куда подключены агенты, и каждый бы точно получал свое сообщение.
Кто-нибудь может подсказать, как правильно реализовать со стороны Kafka поток управления сетью агентов? Ткунть пальцем на материалы которые необходимо прочитать, имеет для подобного использования ?
Перебалансировка не производится, если консюмер подписан на конкретные партиции вручную. Так что если агент упадет, то никто не перехватит его сообщения.