레코드2 [아파치 카프카 애플리케이션 프로그래밍 with 자바] 3.4 장 카프카 클라이언트 카프카 클라이언트 카프카 클러스터에 명령을 내리거나 데이터를 송수신 하기 위해 사용한다. 카프카 프로듀서, 컨슈머, 어드민 클라이언트를 제공함. 엄연한 라이브러리이므로, 프레임워크나 애플리케이션에서 구현 후 실행. 프로듀서 API 카프카에 필요한 데이터를 선언하고 브로커의 특정 토픽의 파티션에 전송. 데이터를 전송할 때 리더 파티션 소유의 카프카 브로커와 직접 통신한다. 주요 특징 카브카 브로커로 데이터 전송 시, 내부적으로 파티셔너 및 배치 생성 단계를 거침. UniformStickyPartitioner 와 RoundRobinPartitioner 의 2개 파티션을 제공함. 메시지 키 유무에서 차이점이 발생한다. 프로듀서 동작에 특화된 UniformStickyPartitioner는 높은 처리량 및 낮은 .. 2023. 4. 9. [아파치 카프카 애플리케이션 프로그래밍 with 자바] 3-2, 3장 토픽과 파티션, 레코드 토픽 데이터를 구분하기 위해 사용되는 단위 1개 이상의 파티션 소유 데이터를 Record 라 칭함 파티션 병렬처리의 핵심 컨슈머의 개수를 늘리는 스케일 아웃으로 한정된 컨슈머의 처리량을 보조 가능. Queue와 같은 구조 레코드 타임 스탬프, 메시지 키, 메시지 값, 오프셋, 헤더 구성 한번 적재된 레코드는 수정 불가 및 log retention or capacity에 따라 삭제 특징 생성된 시점에 Unix Time 설정 됨, 레코드 생성 시 타임 스탬프를 설정할 수 있다는 것에 유의 메시지 키를 이용하여 해시 값을 토대로 파티션 지정 가능 필요시 null 설정 메시지 값은 직렬화, 역직렬화 가능한 객체로 설정 => 동일한 형태로 상호 간 수행 컨슈머가 데이터를 가져갈 때, 오프셋을 사용 컨슈머 그룹이 .. 2023. 3. 27. 이전 1 다음 반응형