Мне интересно, почему в Kafka Stream API отсутствует неблокирующая поддержка с помощью простых обратных вызовов, Java CompletableFuture или Scala Futures.
Я понимаю, что порядок в разделе необходимо поддерживать, но в разных разделах я не вижу причин для достижения порядка путем блокировки дорогого ресурса: потока.
, т.е. когда я позволяюмое приложение Kafka Streams с вызовом внешней службы, например, в mapValues, запущенном на 1 сервере, и у меня более тысячи разделов, я, вероятно, заблокирую машину, потому что все потоки заблокированы.Было бы неплохо иметь такой API-метод, как mapValuesAsync (), не правда ли?
Также представьте, что в приложении Kafka Stream с несколькими операциями блокировки в потоке нужно было бы меньше разделов для каждой темы, чтобы запуститьв проблему.Потеря потоков здесь не выглядит как хороший дизайн API.
Планируется ли какая-либо поддержка для этого?Или я здесь что-то наблюдаю?