OpenSource/Kafka
[Kafka] 카프카 기본 용어 정리
SooooooooS
2024. 5. 8. 10:57
728x90
Topic
- 데이터가 들어갈 수 있는 공간
- 테이블, 폴더와 유사한 개념
Partition
어떤 토픽에 대해서 producer/consumer가 병렬처리방식으로 분산저장되는 단위
- 하나의 토픽에 여러개의 파티션 존재
- 0번 인덱스부터 시작
- 큐와 유사하게 동작
- Producer : 데이터를 쌓는다.
- Consumer :오래된 순서대로 가져감
- offset : 파티션 속 위치
- 단, 컨슈머가 읽어도 데이터는 삭제되지 않는다.
- 파티션 속에 데이터는 지정된 시간과 용량만큼 사용 후 삭제된다.
- 늘릴수는 있지만 줄일 수는 없다.
- 늘릴수록 컨슈머 분산가능
- 파티션의 개수 >= 컨슈머의 개수
replication (복제)
높은 가용성(High Availibility)을 얻기 위해 각각의 partition을 각기 다른 브로커에 복제하는 역할
- 서버에 장애가 생겼을 때 가용성을 높일 수 있다.
- 파티션의 복제를 의미함
- replication : 2
- 원본 1개 = 리더 파티션, 복제 1개 = 팔로워 파티션
- ISR : In Sync Replica
- 많아질수록 리소스 사용량 및 시간이 많이 소요되므로 적정한 값을 찾아야 한다.
Broker
- 카프카가 설치되어 있는 서버 단위
- 3개 이상 브로커 사용 권장
Partitioner 파티셔너
- 데이터를 어떤 파티션에 넣을지 결정한다.
Consumer Lag
- 프로듀서가 마지막으로 넣은 offset - 컨슈머가 마지막으로 읽은 offset
- 컨슈머 의 상태를 볼 때 사용
- lag 모니터링 오픈소스 = Burrow
Pub/Sub
- Publish / Subscribe 구조
- Producer가 데이터를 만들어낸다.
- Consumer가 데이터를 구독한다.
[참고 강의]
[지금 무료] [데브원영] 아파치 카프카 for beginners | 데브원영 DVWY - 인프런
데브원영 DVWY | 아파치 카프카란 무엇일까? 아파치 카프카는 어떻게 동작할까? 아파치 카프카의 개념은 무엇이 있을까? 궁금하시다면 이 강의를 선택하세요😎, 아파치 카프카(Apache Kafka), 핵심을
www.inflearn.com
728x90