Вариант использования Kafka: непрерывное чтение из Kafka (возможно, из потока), выполнение расшифровки значения сообщения с помощью метода Java, затем вставка в db (либо в соединитель приемника, либо у меня есть API REST Java, который можно вставить в db, если это необходимо)
Я не видел ни одного жизнеспособного решения для этого варианта использования, ПОТОМУ ЧТО:
Я не могу хранить расшифрованные данные в kafka.
Мне нужно выполнить дешифрование перед вставкой в БД.
Глядя на Kafka Connect и Kafka Streams, чтобы найти вариант использования:
Не похоже, что я могу использовать Kafka Connect, потому что я не понимаю, как я могу включить этап расшифровки.
Не похоже, что я могу использовать Kafka Streams, потому что 1. Он создан для чтения и обратной записи по темам. 2. Даже если бы я использовал Processor API для реализации пользовательской логики, я не понимаю, как я могу преобразовать значение сообщения KStream
в String
, которое я могу передать в мой метод расшифровки Java или базу данных.
У меня есть работающее решение, использующее обычное приложение Kafka Consumer в приложении Java, но оно выполняет его как одноразовое пакетное задание, мне нужно приложение, которое долго работает и постоянно проверяет очередь Kafka. Я мог бы бесконечно перебирать пакетное задание, но я не уверен, что это приемлемый вариант.
Как я могу выполнить этот вариант использования? Искра нам не подходит.