min.insync.replicas

Параметр min.insync.replicas в Apache Kafka определяет минимальное количество реплик, которые должны быть в синхронизированном состоянии для того, чтобы запись в тему считалась успешной. Этот параметр важен для обеспечения надежности и доступности данных в распределенной системе.

Когда producer отправляет сообщение в Kafka, он может настроить уровень подтверждений (acknowledgments) через параметр acks. Если установлен режим acks=all, то запись будет считаться успешной только в том случае, если как минимум min.insync.replicas реплик подтвердят получение сообщения. Это помогает избежать потери данных в случае сбоя одной или нескольких реплик.

Например, если у нас есть топик с тремя репликами и мы установили min.insync.replicas=2, это значит, что для успешной записи сообщения как минимум две из трех реплик должны быть в синхронизированном состоянии. Если количество синхронизированных реплик падает ниже этого порога, producer будет получать ошибки при попытке записать сообщения, что позволяет предотвратить потерю данных.