728x90
목차
1. Kafka 아키텍처
Kafka는 producer가 topic에 데이터를 넣으면 consumer가 가져가는 구조이다.
Topic은 데이터가 저장되는 공간으로 어떤 데이터를 담을지 명시하는게 좋다.
Ex) click_log, send_sms, location_log 등..
Ex) click_log, send_sms, location_log 등..
2. Kafka Partition
토픽마다 1개 이상의 파티션 존재
빠른 전송을 위해서는 병렬로 처리되어야 하며 이를 위해서 토픽 내에 여러 파티션이 필요하다.
파티션 수는 증가시킬 수 있지만 줄일 수 없다. -> 줄일려면 토픽을 삭제해야 한다.
따라서 파티션 수를 무작정 늘리기보다는 적절한 값으로 설정한다.
적은 수의 파티션으로 운영하다가 프로듀서 또는 컨슈머에서 병목현상이 발생하면 조금씩 늘려가는 방식을 권장
3. Offset
파티션 내에서 데이터의 위치를 표시하는 유니크한 숫자
컨슈머는 자신이 어디까지 데이터를 가져갔는지 offset을 이용하여 관리한다.
카프카는 컨슈머 그룹 단위로 offset을 관리한다.
메시지 순서 보장에 이용하며 메시지는 반드시 오프셋 순서로 가져가게 된다.
4. Broker, Replication, ISR
Broker
- 카프카가 설치되어있는 서버 단위
- 보통 3개 이상의 브로커로 구성하는 것을 권장(유연한 서비스 제공을 위해)
Replication
- 토픽은 브로커에 복제한 파티션을 분산되는데 이를 리플리케이션이라고한다.
- Partition의 고가용성을 위해 사용된다.
- Replication:2 -> partition은 원본 1개와 복제본 1개라는 뜻, 총 partition의 개수=2
- 원본 partition = Leader partition, 읽기/쓰기가 여기서 발생
- 복제본 = Follower partition
- Leader partition과 Follower partition을 합쳐서 ISR(In Sync Replication)이라고 한다.
- Producer가 데이터를 전달할 때, Leader partition이 데이터를 전달받는다.
ISR
- 리플리케이션이 되고 있는 것들 간의 그룹
- ISR에 속해 있는 구성원만이 리더의 자격을 가짐
- 팔로워는 일정 주기로 리더에게 새로운 메시지에 대한 확인 요청을 함. 리더는 이걸 받아서 팔로워
상태를 확인. 만약 해당 요청이 오지 않으면 ISR에서 추방
728x90
'스터디 > Kafka' 카테고리의 다른 글
Kafka 아키텍처 및 동작방식(3)- Consumer, Polling, Rebalancing (0) | 2025.01.10 |
---|---|
Kafka 아키텍처 및 동작방식(2) - Producer, Message, Option (0) | 2025.01.09 |
Kafka 주요 용어 정리 (0) | 2025.01.05 |
Kafka 구조 및 구성 요소, Pub/Sub 모델 (0) | 2025.01.04 |
Kafka 기본 개념 및 의미 (0) | 2025.01.03 |
댓글