Kafka/Connect
Kafka Connect 클러스터 구성 방법과 리밸런싱
재심
2023. 4. 22. 21:51
목차
[Connect 구성 방법]
- Standalone : 하나의 워커(프로세스) 로 구성되어 있어 하나의 프로세스로 모든 작업을 처리하는 커넥트 프레임워크
- 프로세스 하나 안에 connector + task 로만 이루어져 있음
- task개수는 읽고자 하는 토픽 개수 혹은 하나의 태스크가 여러개의 작업을 처리함
- 하나의 프로듀서와 하나의 컨슈머 그룹 과 동일한 구조
- 모든 작업이 하나의 JVM에서 처리됨
- 개발단계 등에서만 사용한다
- Distributed : 복수의 워커로 구성되어 있는 커넥트 클러스터
- connect instance가 생성되며 얘를 통해 task들을 워커에 골고루 분포시킴
- 설정한 task 개수에 맞춰 워커에 균등하게 분산시켜줌
- group id로 묶어 하나의 커넥트 클러스터로 구성 가능하다
- 운영환경에서 사용한다.
[Connector Task Rebalancing]
커넥트 클러스터에 워커가 3개있고, 인스턴스가 2개 있는데 각각의 Task를 3,2로 설정할 경우 위와 같이 배치될 수 있다.
- 만약 Worker 3에 장애가 나서 다운된다면 Task들이 다른 워커들로 이동하게 된다.
- 다만 리밸런싱은 워커가 내려갔을 때만 발생하고 Task 자체에서 오류가 발생할 경우 (ex: Key/Value Exception) Task는 실패 상태로 남아있게 되며 해당 Task는 종료된다. (=다른 워커로 재배치되지 않음)