Sobes.tech
Назад к вопросам
Middle
5

Что такое репликационный фактор в Kafka и как работает min.insync.replicas?

Компании, где спрашивали
Ртк-софт

Ответ от нейросети

sobes.tech AI

Репликационный фактор (replication factor) в Kafka — это количество копий (реплик) каждой партиции топика, которые хранятся на разных брокерах для обеспечения отказоустойчивости и доступности данных. Например, если replication factor = 3, то каждая партиция будет храниться на трёх брокерах.

Параметр min.insync.replicas определяет минимальное число реплик, которые должны подтвердить запись (быть "in-sync" — синхронизированными с лидером), чтобы продюсер считал запись успешной при использовании уровня подтверждения acks=all. Это гарантирует, что данные записаны не только на лидере, но и на достаточном числе реплик, что повышает надежность.

Если количество доступных in-sync реплик меньше min.insync.replicas, то при попытке записи с acks=all продюсер получит ошибку, что предотвращает потерю данных при сбоях.

Пример:

  • replication.factor = 3
  • min.insync.replicas = 2
  • Продюсер пишет с acks=all

Запись будет успешной, если как минимум 2 реплики подтвердят запись. Если одна из реплик упала и осталось только 1 in-sync реплика, запись будет отклонена.