패스잇
백엔드 개발 · 중급

Kafka 컨슈머가 메시지를 어디까지 읽었는지 추적하는 오프셋(Offset)은 무엇이며, 컨슈머 그룹 내에서 오프셋이 어떻게 관리되는지 설명해 주세요.

힌트 · 오프셋은 각 파티션 내에서 메시지의 고유한 순서 번호입니다. 컨슈머 그룹은 __consumer_offsets 토픽에 현재 처리한 오프셋을 주기적으로 커밋하여 메시지 처리 상태를 관리합니다.

오프셋컨슈머 그룹파티션커밋__consumer_offsets

모범답안

Kafka에서 오프셋은 컨슈머가 특정 파티션에서 어디까지 메시지를 읽었는지 나타내는 숫자입니다. 각 파티션 내에서 메시지의 순서를 나타내는 고유한 ID라고 생각하시면 됩니다.

컨슈머 그룹 내에서는 오프셋 관리가 중요한데, 컨슈머 그룹은 __consumer_offsets라는 내부 토픽에 현재 처리한 오프셋을 주기적으로 커밋합니다. 이렇게 커밋된 오프셋을 통해 컨슈머가 재시작되거나 그룹에 새로운 컨슈머가 참여하더라도, 이전에 처리했던 메시지를 다시 처리하지 않고 마지막으로 커밋된 오프셋부터 이어서 메시지를 처리할 수 있습니다. 즉, 컨슈머 그룹은 이 __consumer_offsets 토픽을 통해 메시지 처리 상태를 관리합니다.

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

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

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

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