Day 개발 기록
데이25
Day 개발 기록
[kafka-2] Kafka 용어 설명 본문
브로커
- 카프카가 설치된 서버단위
- 보통 3개단위로 구성
- replication
- 파티션의 복제
리더 - 팔로워
- ISR : In Sync Replica
- 파티션의 고가용성을 위해 사용 -> 파티션 복제기능으로 데이터 유실 방지
- replication이 많다고 좋은것은 아님. 브로커의 리소스 사용량이 늘어나게 된다.
- 저장시간을 잘 생각해서 레플리케이션 설정
- 리더 파티션 : kafka 클라이언트와 데이터 주고받는 역할
- 팔로워 파티션 : 리더파티션으로 부터 레코드 지속적으로 복제
- 특정 파티션의 리더,팔로워가 레코드가 모두 복제되어 Sync가 맞는 상태 👉 ISR
- unclean.leader.election.enable = default는 false
->만약 true ? 유실이 된다. 데이터 처리가 중요하다는 의미
카프카 Lag
- 카프카 프로듀서 -> 토픽에 데이터를 넣게됨.
- 데이터가 넣게되면 오프셋이라는 숫자가 붙는다.
- 프로듀서가 넣은 데이터의 오프셋 / 컨슈머가 데이터 가져간 오프셋 간의 차이가 발생
-> Consumer Lag
- 렉의 숫자를 통해 프로듀서와 컨슈머의 상태에 대해 유추가 가능하다.
- 주로 컨슈머의 상태에 대해 볼때 사용한다.
- 렉은 각 파티션 오프셋 기준으로 프로듀서가 넣은 데이터 오프셋과 컨슈머가 가져가는 데이터 오프셋의 차이를 기반으로 한다.
- 토픽에 여러 파티션 존재 -> 렉 여러개 존재 가능
Records-lag-max
- 한개의 토픽과 컨슈머 그룹에 대한 Lag 여러개 존재할 때 그 중 높은 숫자의 Lag을 의미한다.
KafkaConsumer 객체
- lag 실시간 확인
- consumer 단위에서 보는것은 디펜던시가 걸리기때문에 빙이 많이든다.
- 운영이 까다롭다.
Burrow
- 컨슈머 lag 모니터링을 도와주는 독립적인 앱플리케이션
- 멀티 카프카 클러스터 지원
- HTTP API 제공 조회가능