Chapter 05. 프로그램 내에서 코드로 카프카 관리하기
1.1. AdminClient 개요 💡 AdminClient의 주요 기능 토픽 조회, 생성, 삭제 클러스터 상세 정보 확인 ACL 및 설정 관리 비동기 처리 AdminClient의 메서드는 비동기로 작동하며, 결과를 Future 객체로 반환 반환된 Future 객체를 통해 작업 결과를 확인하거나, 취소 및 대기 가능 ...
1.1. AdminClient 개요 💡 AdminClient의 주요 기능 토픽 조회, 생성, 삭제 클러스터 상세 정보 확인 ACL 및 설정 관리 비동기 처리 AdminClient의 메서드는 비동기로 작동하며, 결과를 Future 객체로 반환 반환된 Future 객체를 통해 작업 결과를 확인하거나, 취소 및 대기 가능 ...
1.1. 컨슈머와 컨슈머 그룹 🚗 컨슈머와 데이터 소비 컨슈머는 카프카 토픽의 데이터를 읽고 처리하는 역할을 함 메시지가 빠르게 쌓이면 처리 속도를 따라가지 못해 지연이 발생할 수 있음 여러 컨슈머를 활용하면 데이터를 병렬로 처리하여 성능을 향상시킬 수 있음 컨슈머 그룹 컨슈머 그룹은 병렬 처리를 위해 컨슈머를 그룹화한 단위...
1. 프로듀서 개요 📌 프로듀서의 역할: 데이터를 카프카 브로커에 전송 주요 개념 ProducerRecord: 카프카에 메시지를 작성하기 위한 객체 KafkaProducer: 프로듀서를 구성하고 브로커와 통신을 담당 파티션: 메시지가 저장되는 브로커의 논리적 단위 사용 예시 ...
1. 브로커 설정하기 ⚙️ 1-1. broker.id 브로커를 식별하는 고유 정수 값 클러스터 내 broker.id는 중복 불가 1-2. listeners 브로커가 클라이언트와 통신하기 위한 리스너 설정 프로토콜, 호스트이름, 포트를 정의 listener.security.protocol.map으로 리스너와 프로토콜 매핑 필요...
1. WSL 설치 Microsoft 공식 문서 참고 2. Java 설치 및 확인 OpenJDK 설치 sudo apt update && sudo apt install openjdk-17-jdk Java 버전 확인 java -version 3. 작업 디렉토리 생성 home/<user>...
데이터를 이동시키는 작업에 더 적은 노력을 들일수록 핵심 비즈니스에 더욱 집중할 수 있다. 1. 카프카란 무엇인가? 🤔 발행/구독 메시지 전달 시스템 메시지 큐를 관리하며 브로커를 통해 데이터를 발행자와 구독자 간에 중계 데이터 생성과 처리를 분리하고 효율적이고 유연하게 관리 1.1 발행/구독 시스템의 필요성 전통적인 방식은 ...
타입 안전 열거 패턴 vs 열거 타입 타입 안전 열거 패턴 public class Operation { public static final Operation PLUS = new Operation("+", (x, y) -> x + y); public static final Operation MINUS = new Operation(...
[책에 나온 예시] Plant 클래스 class Plant { enum LifeCycle { ANNUAL, PERENNIAL, BIENNIAL } final String name; final LifeCycle lifeCycle; Plant(String name, LifeCycle lifeCycle) { t...
비트 필드 열거 상수 열거한 값들이 집합으로 사용될 경우, 예전에는 각 상수에 서로 다른 2의 거듭제곱 값을 할당한 정수 열거 패턴을 사용해왔다. // 비트 필드 열거 상수 - 구닥다리 기법 public class Text { public static final int STYLE_BOLD = 1 << 0; public s...
전략 패턴 (Strategy Pattern) 이란? 전략 패턴은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다. 전략이란, 어떤 목적을 달성하기 위해 일을 수행하는 방식, 비즈니스 규칙, 문제를 해결하는 알고리즘 같은 문제를 해결하는 여러 알고리즘이 클래스별로 캡슐화되어 있다. 필요할 때 교체할 수 있도록 함으로...