패스잇
백엔드 개발 · 심화

Kafka Connect 클러스터를 프로덕션 환경에서 고가용성(High Availability) 및 확장성(Scalability)을 보장하도록 설계하고 운영하기 위한 방안을 설명하시오. 특히 Source/Sink 커넥터의 장애 발생 시 데이터 유실 없이 복구하는 전략에 대해 구체적으로 제시하시오.

힌트 · 분산 모드, worker 재시작 전략, offset management, Dead Letter Queue (DLQ) 활용 및 모니터링이 중요합니다.

Kafka Connect 분산 모드Offset CommitDead Letter Queue (DLQ)Replication FactorConnector 재시작 정책

모범답안

Kafka Connect 클러스터를 고가용성과 확장성 있게 운영하려면 분산 모드를 사용해야 합니다. 여러 워커 인스턴스를 실행하여 단일 실패 지점을 제거하고, 워커 재시작 시에도 작업을 이어갈 수 있도록 오프셋 관리가 중요합니다.

Source/Sink 커넥터 장애 시 데이터 유실 방지를 위해, 커넥터는 주기적으로 오프셋을 커밋해야 합니다. Kafka Connect는 이를 자동으로 관리하지만, 장애 발생 시에는 마지막으로 커밋된 오프셋부터 다시 시작하여 데이터 중복이나 누락을 최소화합니다.

추가적으로, 처리할 수 없는 메시지는 Dead Letter Queue(DLQ)로 보내어 데이터 유실을 방지하고, 이를 별도로 모니터링하여 문제를 해결합니다. 클러스터 상태, 커넥터 성능, 오프셋 커밋 상태 등을 지속적으로 모니터링하는 것도 필수적입니다. Kafka 토픽의 Replication Factor를 충분히 확보하여 Kafka 자체의 고가용성도 보장해야 합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 메시지 큐 (Kafka) 면접 질문

← 메시지 큐 (Kafka) 면접 질문 전체 보기