반응형
Kafka의 리더 파티션과 팔로워 파티션 🧐
Kafka를 공부하다 보면 "파티션"이라는 개념이 꼭 등장한다. 그런데 파티션 안에도 리더(Leader) 파티션과 팔로워(Follower) 파티션이라는 개념이 있다. 도대체 이게 뭘까? 🤔
🏆 리더 파티션이란?
리더라는 단어 자체가 "대표"라는 의미를 가지니까, 아무래도 중심 역할을 하는 것 같긴 하다. 실제로 Kafka에서 리더 파티션은 데이터를 직접 주고받는 핵심적인 파티션이다.
- 프로듀서(Producer)는 데이터를 어디로 보낼까? 👉 리더 파티션
- 컨슈머(Consumer)는 데이터를 어디서 가져올까? 👉 리더 파티션
즉, 리더 파티션이 없으면 Kafka에서 데이터가 흐를 수 없다는 뜻이다. 하지만 이러면 한 곳에만 의존하는 구조가 되어버린다. 이게 과연 안전할까? 🤨
👥 팔로워 파티션이란?
리더가 모든 걸 다 처리하면 문제가 생길 수 있다. 만약 리더가 장애가 나버리면? 😱 Kafka는 장애 대응을 위해 팔로워 파티션을 운영한다.
팔로워 파티션은 리더 파티션의 데이터를 복제해서 가지고 있는 역할을 한다.
- 백업 데이터라고 보면 될까?
- 그렇다면 팔로워는 단순히 리더를 따라가는 역할만 하는 걸까?
사실 팔로워가 하는 가장 중요한 역할은 장애 발생 시 대체 역할을 하는 것이다. 만약 리더가 다운되면? Kafka는 자동으로 팔로워 중 하나를 새로운 리더로 승격시킨다. 🏅 즉, Kafka는 리더-팔로워 구조를 통해 장애에도 서비스가 멈추지 않도록 설계된 것이다.
🤔 그렇다면 궁금한 점!
- 리더가 계속 데이터를 받으면 팔로워랑 동기화가 깨지지 않을까?
- Kafka는 이를 방지하기 위해 주기적으로 리더와 팔로워 간 데이터를 동기화한다. 그런데 속도가 차이가 나면 어떻게 될까?
- 팔로워는 단순히 데이터만 복제하는 걸까, 아니면 추가적인 역할이 있을까?
- 리더가 장애가 났을 때, 어떤 기준으로 팔로워 중 하나가 리더로 승격될까?
이런 부분들을 하나씩 알아가다 보면 Kafka의 내부 구조를 더 잘 이해할 수 있을 것 같다. 😃
반응형
'Apache Kafka 공부' 카테고리의 다른 글
#5 브로커의 역할 (0) | 2025.02.14 |
---|---|
#4-1 Zookeeper란? (0) | 2025.02.14 |
#4 카프카 브로커와 클러스터 (0) | 2025.02.14 |
#3 카프카 생태계 25.02.10 (1) | 2025.02.14 |
#2 카프카가 데이터 파이프라인으로 적합한 이유 25.02.10 (0) | 2025.02.14 |