티스토리 뷰
프로듀서 애플리케이션 개발
위 코드를 실행 시키면 실제 test 토픽에 testMessage 레코드가 쌓인것을 확인할 수 있다.
메시지 키를 가진 레코드를 전송하는 프로듀서
키값을 같이 확인하기 위해 --property
옵션을 같이 넣어서 실행시켜준다. 키값 없이 보냈던 메시지의 키는 null로 나오고 그 외의 경우 같이 출력되는 것을 확인할 수 있다.
레코드에 파티션 번호를 지정하여 전송하는 프로듀서
- 파티션을 직접 지정하고 싶다면 토픽이름, 파티션 번호, 메시지 키, 메시지 값을 차례로 입력하여 보내면 된다.
특정 파티션 (3번)에 메시지를 보내고 컨슈머에서 해당 파티션의 메시지를 읽을 수 있다.
커스텀 파티셔너를 가지는 프로듀서
- config에서
PARTITIONER_CLASS_CONFIG
에 직접 작성한 커스텀 클래스 파일을 지정해주면 된다.
configs.put(ProducerConfig.**PARTITIONER_CLASS_CONFIG**, CustomPartitioner.class);
아래와 같이 test 토픽의 6번 파티션에 LAG이 1로 메시지가 하나 쌓이고, 보냈던 Pangyo_6 메시지 값을 확인할 수 있다.
레코드 전송결과를 확인하는 프로듀서 (동기)
`test-7@3`으로 7번 파티션의 3번 오프셋으로 메시지가 쌓였음을 알려주게 된다.
실제 토픽 test의 7번 파티션의 메시지를 출력해보면 4개의 메시지와 3번 오프셋에 전달된 "Pangyo:Pangyo_22" 값을 확인할 수 있다.
참고로 acks를 0으로 설정하게 되면 응답값을 확인하지 않게 되므로 오프셋을 알 수가 없어 오프셋으로-1
을 출력하게 된다.
반응형
'기술 학습 > 아파치 카프카' 카테고리의 다른 글
아파치 카프카 애플리케이션 프로그래밍 정리 6-2 _ 카프카 컨슈머 애플리케이션 (0) | 2023.07.03 |
---|---|
아파치 카프카 애플리케이션 프로그래밍 정리 6-1 _ 카프카 컨슈머 (2) | 2023.06.26 |
아파치 카프카 애플리케이션 프로그래밍 정리 5-1 _ 카프카 프로듀서 (1) | 2023.06.12 |
아파치 카프카 애플리케이션 프로그래밍 정리 4 _ 카프카 CLI 활용 (0) | 2023.06.05 |
아파치 카프카 애플리케이션 프로그래밍 정리 1, 2 - 배경 및 기본개념 (0) | 2023.05.29 |
Comments
반응형
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday