본문 바로가기

Apache Kafka3

[Kafka] 아파치 카프카 클라이언트 :: 어드민 API 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리카프카 클라이언트에서는 내부 옵션들을 설정하거나 조회하기 위해 AdminClient 클래스를 제공한다.AdminClient 클래스를 활용하면 클러스터의 옵션과 관련된 부분을 자동화할 수 있다.AdminClient 활용 예시- 카프카 컨슈머를 멀티 스레드로 생성할 때, 구독하는 토픽의 파티션 개수만큼 스레드를 생성하고 싶을 때, 스레드 생성 전에 해당 토픽의 파티션 개수를 어드민 API를 통해 가져올 수 있다.- AdminClient 클래스로 구현한 웹 대시보드를 통해 ACL(Access Control List)이 적용된 클러스터의 리소스 접근 권한 규칙을 추가할 수 있다.- 특정 토픽의 데이터 양이 늘어남을 감지하고 AdminClien.. 2024. 9. 27.
[Kafka] 아파치 카프카 클라이언트 :: 컨슈머 API 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리 컨슈머 API프로듀서가 전송한 데이터는 카프카 브로커에 적재된다. 컨슈머는 적재된 데이터를 사용하기 위해 브로커로부터 데이터를 가져와서 필요한 처리를 한다.IntelliJ로 프로젝트를 생성해 기본적인 애플리케이션을 만들어본다.카프카 클라이언트 디펜던시와 로그 확인을 위한 slf4j를 추가해준다.클라이언트 버전은 책의 버전과 같은 버전으로 하였다.implementation('org.apache.kafka:kafka-clients:2.5.0')implementation('org.slf4j:slf4j-simple:1.7.30')컨슈머 애플리케이션을 개발하기 위한 자바 파일을 생성한다.package com.example;import org... 2024. 9. 25.
[Kafka] 아파치 카프카 클라이언트 :: 프로듀서 API 아파치 카프카 애플리케이션 프로그래밍 with 자바 책 공부 내용 정리 프로듀서 API프로듀서 애플리케이션은 카프카에 필요한 데이터를 선언하고 브로커의 특정 토픽의 파티션에 전송한다.프로듀서는 데이터를 직렬화하여 카프카 브로커로 보내기 때문에 자바에서 선언 가능한 모든 형태를 브로커로 전송할 수 있다.직렬화란 자바 또는 외부 시스템에서 사용 가능하도록 바이트 형태로 데이터를 변환하는 기술이다.직렬화를 사용하면 프로듀서는 자바 기본형과 참조형 뿐만 아니라 동영상, 이미지 같은 바이너리 데이터도 프로듀서를 통해 전송할 수 있다.먼저 IntelliJ를 실행하여 프로젝트를 생성하여 기본적인 프로듀서 애플리케이션을 만들어본다.카프카 클라이언트 디펜던시와 로그 확인을 위한 slf4j를 추가해준다.implementa.. 2024. 9. 23.