카프카는 기본적으로 **분산 커밋 로그(Distributed Commit Log)**를 기반으로 동작한다.
운영 환경에서 브로커를 최소 3대로 구성하는 이유는 가용성과 데이터 유실 방지 사이의 최적의 밸런스 떄문이다. 이를 Quorum(의결 정족수) 개념과 연결해 볼 수 있다.
1. 고가용성
min.isr=2 설정을 사용할 수 없어 데이터 안정성이 떨어진다.2. 과반수 투표와 리더 산출
2n+1의 형태로 구성할 때 장애 내성 효율이 가장 좋다.3. min.insync.replicas와의 관계
min.isr=2 (복제보 2개 보장)를 만족하며 계속 메시지를 쓸 수 있다.