카프카 브로커의 역할

참치돌고래·2023년 4월 9일
0

브로커의 역할

데이터복제

파티션 단위로 이루어진다. 토픽을 생성할 때 파티션의 복제 개수도 같이 설정되는데 직접 옵션을 선택하지 않으면 브로커에 설정된 옵션값을 따라간다. (최솟값 : 1)

  • 리더 : 프로듀서 또는 컨슈머와 직접 통신하는 파티션
  • 팔로워 : 나머지 복제 데이터를 가지고 있는 파티션. 리더 파티션의 오프셋과 비교하여 차이가 나는 경우 데이터를 가져와 복제한다. -> 복제

브로커가 다운되면 해당 브로커에 있는 팔로워 파티션 중 하나가 리더 파티션 지위를 넘겨받는다.

컨트롤러

다수 브로커 중 한 대가 컨트롤러의 역할을 한다. 해당 브로커에 존재하는 리더 파티션을 재분배.

데이터 삭제

데이터를 삭제할 수 있는 권한을 가진 것은 오직 브로커 뿐이다. 데이터 삭제는 파일 단위로 이루어지는데 이 단위를 로그 세그먼트라고 부른다. 데이터베이스처럼 특정 데이터를 선별해서 삭제할 수 없다. 세그먼트 파일이 닫히게 되는 기본값은 1GB

컨슈머 오프셋 저장

가져간 레코드 위치를 기록하기 위해 오프셋을 커밋한다. _consumer_offsets 토픽에 저장

코디네이터

다수 브로커 중 한대는 코디네이터 역할을 수행한다. 코디네이터는 컨슈머 그룹의 상태를 체크하고 파티션을 컨슈머와 매칭되도록 분배. 파티션을 컨슈머로 재할당하는 리밸런스 를 수행한다.

profile
안녕하세요

0개의 댓글