728x90
728x90
아래의 내용 및 이미지는 [데브원영] 아카피 카프카 for begineers 강의 요약 및 추가 공부한 내용입니다.
파티셔너란?
프로듀셔가 데이터를 보내면 무조건 파티셔녀를 통해서 브로커로 데이터가 전송된다
데이터를 topic의 어떤 파티션에 저장해야할지 결정하는 부분
레코드에 포함된 메세지 키 또는 메시지 값에 따라서 파티션의 위치 결정
파티셔너 기본값 : UniformStickyPartitioner
메세지 키가 있을떄, 없을떄 다르게 동작
메시지 키가 있는 경우,파티셔너에 의해서 특정한 hash값을 생성
이 hash값을 기준으로 어느 파티션에 들어가야할지 결정하게 된다.
동일한 메시지 키를 가진 레코드는 동일한 hash값을 만들기 떄문에 동일한 파티션에 들어감을 보장한다
즉, 동일한 파티션에 순서를 지켜서 메세지를 처리할 수 있다
메시지 키가 없는 경우, 라운드 로빈값으로 파티셔너에 돌아가면서 들어가게 된다
프로듀셔에서 배치로 모을 수 있는 최대한의 레코드를 모아서 파티션으로 데이터를 보낸다
직접개발한 파티셔너 생성가능 -> 파티셔너 인터페이스 사용
커스텀 파티셔너 만들면 메시지 키 또는 메세지 값 또는 토픽이름에 따라서
어느 파티션에 데이터를 보낼 수 있을지 정할 수 있음
728x90
반응형
'Book & Lesson' 카테고리의 다른 글
[책정리] 빅데이터를 지탱하는 기술 목차 (0) | 2021.06.16 |
---|---|
kafka강의6 | 카프카 버로우(Burrow) (0) | 2021.03.25 |
kafka강의5 | 컨슈머 랙(Consumer Lag)이란? (0) | 2021.03.25 |
kafka강의3 | 브로커, 복제, ISR(in-sync-replication) (0) | 2021.03.24 |
kafka강의2 | Topic이란? Pub/Sub 구조 (0) | 2021.03.22 |
kafka강의1 | 아파치 카프카(Apache Kafka)란? (0) | 2021.03.22 |