[Kafka] 카프카의 복제

Posted by 김성철

Kafka - 카프카의 복제

카프카의 복제

- 고가용성을 위해 복제 (한 서버가 고장나면 다른 서버에서 처리할수 있도록)  
- 카프카의 복제 -> 브로커 장애에 대비  
	* 데이터 유실이 발생하지 않도록 데이터를 분산하여 저장  
  
- Replication Factor를 통해 복제 개수를 정할 수 있음  
- 최소값은 1, 보통 3이상으로 설정해서 운영  
- 최대값은 브로커 개수만큼 할 수 있지만 보통은 2~3개  
  
- Leader Follower 방식 사용  
- 리더는 컨슈머, 프로듀서와 직접 통신함  
- 리더 파티션의 오프셋을 보고 차이나는 부분을 복제하여 따라잡음  
  
- 브로커에 문제가 발생하면 팔로워 파티션 중 하나가 리더로 승격함  
- 기존 리더는 팔로워로 강등  
- 리더를 통해 계속 프로듀서와 컨슈머가 통신  
- 리더가 선정되는 팔로워는 가장 최신의 데이터를 갖고 있는 팔로워 파티션  
  
- Replication Factor 설정방법  
	* 데이터 처리 속도가 중요한 경우 1-2 (위치, 일반 데이터 등)  
	* 유실에 예민한 경우 3 (증권, 주문 등)