Каково максимальное количество реплик для топика в Kafka-кластере из 3 брокеров?

«Каково максимальное количество реплик для топика в Kafka-кластере из 3 брокеров?» — вопрос из категории Брокеры сообщений, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Максимальное количество реплик (коэффициент репликации) равно количеству брокеров в кластере.

Для кластера из 3 брокеров максимальный replication.factor = 3.

Почему? Каждая реплика партиции должна находиться на отдельном брокере для обеспечения отказоустойчивости. Нельзя иметь больше реплик, чем доступных брокеров.

Практические сценарии:

  • replication.factor = 3: Полная отказоустойчивость. Данные будут сохранены даже при отказе любых 2 брокеров. Максимальная надежность, но больше сетевого трафика и использования диска.
  • replication.factor = 2: Стандартный выбор. Выдерживает отказ 1 брокера. Хороший баланс надежности и затрат.
  • replication.factor = 1: Нет отказоустойчивости. Потеря брокера приведет к потере данных и простою топика. Не рекомендуется для продакшена.

Важно: Коэффициент репликации задается при создании топика и впоследствии может быть увеличен до количества брокеров, но не более.