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