[ 2 ] min.insync.replicas=1인 경우
test 방법
1) kafka 중단 2) broker1,2,3 kafka server.properties 파일 내 min.insync.replicas =1 변경 (default 값 2) 3) kafka 재기동 4) producer api config의 acks값이 all인지 확인 (아닐 경우, 해당 옵션 값을 all로 수정) 후 기동 5) kafka 서비스 1개 down (broker 순서 무관) 6) topic 및 브로커 log 모니터링을 통한 서비스 정상 여부 확인 7) kafka 서비스 1개 down (broker 순서 무관) 8) topic 및 브로커 log 모니터링을 통한 서비스 정상 여부 확인 |
partition : replication factor | broker3대 | broker2대 | broker1대 | ||
test01 | 1 : 1 | O | O | O | |
test02 | 1 : 2 | O | O | O | |
test03 | 1 : 3 | O | O | O |
- 결론 : min.insync.replicas 가 2일 경우, replication factor 가 2 이상일 때 그만큼의 ISR 멤버가 기동되어야 함
참고 ) 해당 test는 producer api로만 message를 정상적으로 보내지는지 테스트 한 것이기 때문에, 개별 broker들이 consumer group으로 묶이지 않아 leader가 기동 중단될 경우 leader가 변경되지 않음 ( topic의 leader 가 중단될 시, leader : none이라고 뜨고 데이터를 취득하지 않음 (topic 사이즈 증량x))