빅데이터/Kafka Cluster
Kafka cluster failover
espossible
2022. 2. 28. 15:24
Kafka에서는 토픽별로 leader와 follower가 존재한다.
토픽으로 통하는 모든 데이터의 read/write는 오직 leader와 이루어진다. leader가 다운되거나 leader가 있는 브로커가 다운된다면 flower 중의 하나가 leader가 된다. 이때, 일시적으로 follower가 leader가 되는 과정에서 read/write의 timeout이 발생할 수 있겠지만, retry가 일어나면 new leader와 read/write가 가능하기 때문에 장애 상황을 피할 수 있다.
ISR(In Sync Replica)
topic이 생성되고 옵션으로 replication factor를 설정하면 replication factor 수에 맞추어 ISR이 구성된다.
leader : follower 중에서 자신보다 일정시간 동안 뒤쳐지면 leader가 될 자격이 없다고 판단하여 뒤쳐지는 follwer를 ISR에서 제외
follower : leader와 동일한 데이터 내용을 유지하기 위해서 짧은 주기로 leader로부터 데이터를 가져온다.
All down
1. 마지막까지 leader였던 broker1번이 up이 되고 다시 leader가 될 때까지 기다린다.
2. (default)ISR과 상관없이 누구라도 가장 빨리 up이 되는 topic이 leader가 된다(데이터 손실이 되더라도 장애 대응이 빠르다)