Apache Kafka 공부

#4-2 리더 파티션과 팔로워 파티션

박태정 입니다. 2025. 2. 14. 21:04
반응형

Kafka의 리더 파티션과 팔로워 파티션 🧐

Kafka를 공부하다 보면 "파티션"이라는 개념이 꼭 등장한다. 그런데 파티션 안에도 리더(Leader) 파티션팔로워(Follower) 파티션이라는 개념이 있다. 도대체 이게 뭘까? 🤔


🏆 리더 파티션이란?

리더라는 단어 자체가 "대표"라는 의미를 가지니까, 아무래도 중심 역할을 하는 것 같긴 하다. 실제로 Kafka에서 리더 파티션은 데이터를 직접 주고받는 핵심적인 파티션이다.

  • 프로듀서(Producer)는 데이터를 어디로 보낼까? 👉 리더 파티션
  • 컨슈머(Consumer)는 데이터를 어디서 가져올까? 👉 리더 파티션

즉, 리더 파티션이 없으면 Kafka에서 데이터가 흐를 수 없다는 뜻이다. 하지만 이러면 한 곳에만 의존하는 구조가 되어버린다. 이게 과연 안전할까? 🤨


👥 팔로워 파티션이란?

리더가 모든 걸 다 처리하면 문제가 생길 수 있다. 만약 리더가 장애가 나버리면? 😱 Kafka는 장애 대응을 위해 팔로워 파티션을 운영한다.

팔로워 파티션은 리더 파티션의 데이터를 복제해서 가지고 있는 역할을 한다.

  • 백업 데이터라고 보면 될까?
  • 그렇다면 팔로워는 단순히 리더를 따라가는 역할만 하는 걸까?

사실 팔로워가 하는 가장 중요한 역할은 장애 발생 시 대체 역할을 하는 것이다. 만약 리더가 다운되면? Kafka는 자동으로 팔로워 중 하나를 새로운 리더로 승격시킨다. 🏅 즉, Kafka는 리더-팔로워 구조를 통해 장애에도 서비스가 멈추지 않도록 설계된 것이다.


🤔 그렇다면 궁금한 점!

  1. 리더가 계속 데이터를 받으면 팔로워랑 동기화가 깨지지 않을까?
    • Kafka는 이를 방지하기 위해 주기적으로 리더와 팔로워 간 데이터를 동기화한다. 그런데 속도가 차이가 나면 어떻게 될까?
  2. 팔로워는 단순히 데이터만 복제하는 걸까, 아니면 추가적인 역할이 있을까?
  3. 리더가 장애가 났을 때, 어떤 기준으로 팔로워 중 하나가 리더로 승격될까?

이런 부분들을 하나씩 알아가다 보면 Kafka의 내부 구조를 더 잘 이해할 수 있을 것 같다. 😃

반응형