LabHub
배우기 러닝패스 코스

주문이 두 번 도착했고 한 번은 사라졌다 · Kafka 가 약속하는 것 · 퀴즈

퀴즈: 로그·파티션·오프셋

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. Kafka 가 순서를 약속하는 범위는?

    1. 토픽 전체 — 어떤 컨슈머도 쓰인 순서대로 읽는다
    2. 파티션 하나 안 — 같은 파티션의 이벤트는 쓰인 순서로 읽힌다
    3. 컨슈머 그룹 안 — 그룹의 모든 컨슈머가 같은 순서로 받는다
    4. 브로커 하나 안 — 같은 브로커의 모든 파티션이 시간순으로 읽힌다
  2. 키 없이 소량의 이벤트를 보냈더니 한 파티션에 몰렸다. 프로듀서 설정 문서가 설명하는 기본 동작은?

    1. 키가 없으면 항상 파티션 0 에 쓴다
    2. 키가 없으면 이벤트마다 라운드로빈으로 파티션을 바꾼다
    3. 키가 없으면 batch.size 만큼 찰 때까지 한 파티션에 붙이는 sticky 방식이다
    4. 키가 없으면 타임스탬프의 해시로 파티션을 고른다
  3. 컨슈머 그룹의 '어디까지 읽었나' 를 Kafka 가 파티션마다 정수 하나로 두는 설계의 부산물로 문서가 꼽는 것은?

    1. 브로커가 메시지마다 수신 확인 상태를 들고 있어 유실이 없다
    2. 컨슈머가 옛 오프셋으로 되감아 다시 읽을 수 있다
    3. 여러 그룹이 같은 오프셋을 공유해 중복을 막는다
    4. 메시지가 소비되는 즉시 디스크에서 지워져 공간이 작다
  4. `kafka-consumer-groups.sh --describe` 에서 LAG 은 무엇인가?

    1. 마지막 커밋 이후 흐른 시간(초)
    2. 그룹에 속한 컨슈머 수와 파티션 수의 차이
    3. LOG-END-OFFSET 에서 CURRENT-OFFSET 을 뺀, 아직 읽지 않은 레코드 수
    4. 브로커가 컨슈머의 하트비트를 마지막으로 받은 뒤 지난 시간
  5. 파티션 수를 3에서 6으로 늘렸다. 운영 문서가 경고하는 것으로 맞는 것은?

    1. Kafka 가 기존 데이터를 새 파티션으로 재배치하는 동안 토픽이 잠긴다
    2. 같은 키가 다른 파티션으로 갈 수 있고, 기존 데이터는 재배치되지 않는다
    3. 파티션은 늘릴 수 없으므로 토픽을 새로 만들어야 한다
    4. 컨슈머 그룹의 오프셋이 전부 0 으로 초기화된다
  6. 그룹 `order-svc` 가 토픽을 끝까지 읽은 뒤 새 그룹 `analytics` 가 `--from-beginning` 으로 읽으면?

    1. 이미 소비된 메시지라 아무것도 읽지 못한다
    2. order-svc 의 오프셋이 0 으로 되감긴다
    3. 두 그룹이 파티션을 나눠 갖게 되어 각각 절반씩 읽는다
    4. 처음부터 전부 읽고, order-svc 의 오프셋은 그대로다