Масштабируемость Apache Kafka в реальных производственных условиях работает благодаря горизонтальному масштабированию. 13
На уровне производителей масштабирование достигается путём параллельного запуска нескольких экземпляров, каждый из которых может независимо отправлять сообщения в кластер. 1 Производительность отправки данных растёт практически линейно с увеличением числа производителей, пока не будет достигнуто узкое место на уровне сети или дисковой подсистемы брокеров. 1
Для потребителей масштабирование обеспечивается группами потребителей. 1 Добавление нового экземпляра в группу автоматически приводит к перераспределению партиций между всеми членами группы. 1 При этом максимальное количество параллельно работающих потребителей в группе ограничено числом партиций в топике — это одно из ключевых соображений при проектировании системы. 1
Устойчивость к сбоям обеспечивается механизмом репликации данных. 1 Каждая партиция может иметь несколько реплик, размещённых на различных брокерах. 1 Если один из узлов выходит из строя, система автоматически переключается на оставшиеся реплики, обеспечивая непрерывность работы. 1
Эластичность системы позволяет кластеру Kafka динамически адаптироваться к различным нагрузкам. 2 С механизмами автомасштабирования система может автоматически регулировать свои ресурсы в зависимости от спроса, эффективно используя ресурсы в периоды высокой нагрузки и снижая затраты в периоды низкого трафика. 2