Предположим, у меня есть две темы Kafka, A и B. Я пытаюсь разработать систему, которая извлекает записи из A, применяет преобразование к каждой записи, а затем публикует преобразованные записи в B. В этом случае преобразование включает вызов конечной точки REST через HTTP.
Будучи относительно новичком в Kafka, я был рад видеть, что проект Kafka Streams уже решил этот тип проблемы (потребление-преобразование-публикация). К сожалению, я обнаружил, что преобразования в потоках Kafka являются блокирующими операциями. Инстинктивно я пытаюсь вызвать конечные точки HTTP неблокирующим асинхронным способом.
Значит ли это, что Kafka Streams в этой ситуации работать не будет? Означает ли это, что я должен вернуться к вызову конечной точки REST в режиме блокировки? Это вообще приемлемый шаблон для Kafka Streams? Обработка данных на основе потока все еще относительно нова для меня, поэтому я не совсем знаком с ее моделями параллелизма.