каждая запись (пара «ключ/значение») полностью обрабатывается всем графом, прежде чем начинается перемещение следующей записи по топологии. А поскольку все записи проходят при обработке «вглубь» всего DAG, нет необходимости встраивать в Kafka Streams контроль обратного потока данных.
потоковая обработка — оптимальный подход для случая, когда выдать уведомление или предпринять какие-либо действия необходимо сразу же при поступлении данных.
потоковая обработка — способность оперировать бесконечным потоком данных по мере их движения посредством непрерывных вычислений без необходимости их сбора или сохранения для того, чтобы на них отреагировать.
Выбор числа секций при создании топика — искусство и наука одновременно. Главное, что нужно учесть, — объем поступающих в этот топик данных. Для повышения пропускной способности должно быть тем больше секций, чем больше данных. Но, как всегда в жизни, приходится идти на компромиссы. Повышение числа секций приводит к росту количества TCP-соединений и открытых дескрипторов файлов. Кроме того, длительность процесса обработки записи в потребителе также является определяющим фактором для пропускной способности. Если в потребителе производится «тяжеловесная» обработка, то добавление дополнительных секций может решить проблему на время, но в конце концов производительность из-за этого начнет страдать3