카프카 Topic, partition, segemnt

seunghwan·2023년 7월 24일

카프카

목록 보기
1/2
post-thumbnail

카프카 기초 지식

topic 이란

텍스트

Producer

메시지를 생산해서 kafka의 topic 으로 메시지를 보내는 애플리케이션이다

Consumer

topic의 메시지를 가져와서 소비하는 애플리케이션

Consumer Group

topic 메시지를 사용하기 위해 협력하는 consumer 집합

Product 와 Consumer 기본 동식 방식

  • Product 와 Consumer 는 서로 알지 못한다
  • Product 와 Consumer 는 각각 Commit Log 에 Write & Read 를 수행한다
    Product -> Write
    Consumer -> Read

Commit Log란
추가만 가능하고 변경이 불가능한 데이터 스트럭처

Kfaka Offest
Commit Log 에서 Event 의 위치
Product가 Write 하는 경우 LOG-END-OFFEST 이 변경
COnsumer 가 Read 하는 경우 CURRENT-OFFEST 이 변경
그 사이 차이를 Consumer Lag라고 한다

Topic

Topic 안에는 1개 이상 Patition으로 Patition 안에는 Segment 로 구현되어있다
Segment는 기본 설정이 되어있다 그 이유는 파일이 커지면 성능 저하로 인해서 일정 시간이 지나거나 크기에 따라서 파일이 분리가 된다

log.segment.bytes(default 1GB)
log.roll.hours(default 168 hours)

profile
노력하는 개발자

0개의 댓글