상위 14개 Kafka 인터뷰 질문 및 답변(2025)
꿈의 직업을 얻기 위한 신입생과 숙련된 후보자를 위한 Kafka 인터뷰 질문과 답변은 다음과 같습니다.
1) Apache Kafka가 무엇인지 언급하세요.
Apache Kafka는 Apache가 Scala로 작성하여 개발한 게시-구독 메시징 시스템입니다. 분산, 분할, 복제된 로그 서비스입니다.
무료 PDF 다운로드: Kafka 인터뷰 질문 및 답변
2) 전통적인 메시지 전송 방법이 무엇인지 언급하세요.
전통적인 메시지 전송 방법에는 두 가지 방법이 있습니다.
- 대기열: 대기열에서 소비자 풀은 서버에서 메시지를 읽을 수 있으며 각 메시지는 그 중 하나로 이동합니다.
- 게시-구독: 이 모델에서는 메시지가 모든 소비자에게 방송됩니다.
Kafka는 위의 소비자 그룹을 모두 일반화한 단일 소비자 추상화를 제공합니다.
3) 기존 기술에 비해 Apache Kafka의 이점은 무엇입니까?
Apache Kafka는 기존 메시징 기술보다 다음과 같은 이점을 제공합니다.
- 빠른 : 단일 Kafka 브로커는 초당 메가바이트의 읽기 및 쓰기를 처리하여 수천 명의 클라이언트에 서비스를 제공할 수 있습니다.
- 확장 가능 : 더 큰 데이터를 지원하기 위해 데이터가 머신 클러스터로 분할되고 간소화됩니다.
- 튼튼한: 메시지는 지속적이고 클러스터 내에서 복제되어 데이터 손실을 방지합니다.
- 디자인에 따라 배포됨: 내결함성 보장 및 내구성을 제공합니다.
4) Kafka에서 브로커의 의미는 무엇인지 언급하세요.
Kafka 클러스터에서는 브로커 용어를 사용하여 서버를 지칭합니다.
5) Kafka 서버가 수신할 수 있는 메시지의 최대 크기는 얼마입니까?
Kafka 서버가 수신할 수 있는 메시지의 최대 크기는 1000000바이트입니다.
6) Kafka에서 Zookeeper가 무엇인지 설명해주세요. Zookeeper 없이 Kafka를 사용할 수 있나요?
Zookeeper는 Kafka가 적용한 분산 애플리케이션에 사용되는 오픈 소스 고성능 조정 서비스입니다. 아니요, Zookeeper를 우회하고 Kafka 브로커에 바로 연결하는 것은 불가능합니다. Zookeeper가 다운되면 클라이언트 요청을 처리할 수 없습니다.
- Zookeeper는 기본적으로 클러스터의 여러 노드 간 통신에 사용됩니다.
- Kafka에서는 오프셋을 커밋하는 데 사용되므로 어떤 경우에도 노드가 실패하면 이전에 커밋된 오프셋에서 검색할 수 있습니다.
- 이 외에도 리더 감지, 분산 동기화, 구성 관리, 새 노드가 나가거나 합류하는 시기, 클러스터, 실시간 노드 상태 등을 식별하는 등의 다른 활동도 수행합니다.
7) Kafka에서 소비자가 메시지를 어떻게 소비하는지 설명하세요.
Kafka에서 메시지 전송은 sendfile을 사용하여 수행됩니다. API. 커널 공간 저장 복사본과 커널 사용자 간의 호출을 통해 소켓에서 디스크로 바이트를 전송할 수 있습니다.
8) 원격 소비자의 처리량을 어떻게 향상시킬 수 있는지 설명해주세요.
소비자가 브로커와 다른 데이터 센터에 있는 경우 긴 네트워크 대기 시간을 상쇄하기 위해 소켓 버퍼 크기를 조정해야 할 수도 있습니다.
9) 데이터 생성 중에 Kafka에서 정확히 한 번만 메시지를 받을 수 있는 방법을 설명하세요.
데이터, 프로덕션 중에 Kafka에서 정확히 한 번만 메시지를 받으려면 두 가지를 따라야 합니다. 데이터 소비 중 중복 방지 그리고 데이터 생산 중 중복을 피합니다. 데이터 생성 중에 정확히 하나의 의미를 얻는 두 가지 방법은 다음과 같습니다.
- 파티션당 단일 작성자를 사용하면 네트워크 오류가 발생할 때마다 해당 파티션의 마지막 메시지를 확인하여 마지막 쓰기가 성공했는지 확인합니다.
- 메시지에는 기본 키(UUID 등)가 포함되어 있으며 소비자에 대한 중복 제거가 수행됩니다.
10) ISR에서 이탈을 줄이는 방법을 설명해주세요. 브로커는 언제 ISR을 떠나나요?
ISR은 리더와 완전히 동기화되는 메시지 복제본 세트입니다. 즉, ISR에는 커밋된 모든 메시지가 있습니다. ISR은 실제 오류가 발생할 때까지 항상 모든 복제본을 포함해야 합니다. 복제본이 리더에서 벗어나면 ISR에서 삭제됩니다.
11) Kafka에서 복제가 필요한 이유는 무엇입니까?
Kafka에서 메시지를 복제하면 게시된 메시지가 손실되지 않고 시스템 오류, 프로그램 오류 또는 보다 일반적인 소프트웨어 업그레이드가 발생하는 경우에도 사용될 수 있습니다.
12) 복제본이 오랫동안 ISR에서 벗어나 있으면 무엇을 의미합니까?
복제본이 오랜 시간 동안 ISR 외부에 남아 있으면 Follower가 리더에 축적된 데이터만큼 빠르게 데이터를 가져올 수 없음을 나타냅니다.
13) 선호하는 복제본이 ISR에 없으면 어떻게 되는지 언급해 주세요.
기본 복제본이 ISR에 없으면 컨트롤러가 이동하지 못합니다. 지도 선호하는 복제본으로.
14) 메시지 생성 후 오프셋을 얻을 수 있나요?
대부분의 큐 시스템에서처럼 생산자 역할을 하는 클래스에서는 그렇게 할 수 없습니다. 그 역할은 메시지를 실행하고 잊어버리는 것입니다. 브로커는 ID, 오프셋 등을 사용한 적절한 메타데이터 처리와 같은 나머지 작업을 수행합니다. 메시지 소비자로서 Kafka 브로커에서 오프셋을 얻을 수 있습니다. 그 속을 들여다보면 단순소비자 수업을 들으면서 가져오는 것을 알 수 있을 것입니다. 다중 가져오기 응답 오프셋을 목록으로 포함하는 객체입니다. 그 외에도 Kafka 메시지를 반복하면 다음과 같은 결과가 나타납니다. 메시지및오프셋 오프셋과 전송된 메시지를 모두 포함하는 개체입니다.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.