Study
-
[카프카 핵심 가이드] 3.6 파티셔너 (카프카 3.9 버전 반영)Study/카프카 핵심 가이드 2025. 2. 6. 01:03
✅ 카프카 버전 3.3 이전에는?카프카 3.3 버전부터 파티셔너 관련 default configuration이 변경되었고, 새로운 configuration이 추가되었음아래 내용은 카프카 버전 3.3 이전의 파티셔너 내용임 ProducerRecord의 키값 역할 2가지메시지에 value와 함께 저장되는 추가적인 정보토픽에 속한 여러 개의 파티션 중 해당 메시지가 저장될 파티션을 결정짓는 기준점기본 파티셔너 사용할 경우 같은 키 값을 가진 모든 메시지는 같은 파티션에 저장됨 파티셔너 설정partitioner.class 설정 사용 (https://kafka.apache.org/32/documentation.html#producerconfigs_partitioner.class)DefaultPartitioner메..
-
[카프카 핵심 가이드] CH3. 카프카 프로듀서: 카프카에 메시지 쓰기Study/카프카 핵심 가이드 2025. 2. 4. 01:34
배울 내용프로듀서의 디자인과 주요 요소KafkaProducer와 ProducerRecord 객체를 어떻게 생성하는지, 어떻게 카프카에 레코드를 전송하는지, 카프카가 리턴할 수 있는 에러를 어떻게 처리하는지프로듀서의 작동을 제어하기 위해 사용되는 가장 중요한 설정 옵션들파티션 할당 방식을 정의하는 파티셔너와 객체의 직렬화 방식을 정의하는 시리얼라이저에는 어떠한 것들이 있는지, 이들을 작성하기 위해 어떻게 해야 하는지 3.1 프로듀서 개요프로듀서 API는 매우 단순하지만, 내부적으로는 많은 작업들이 이루어진다.1. ProducerRecord 객체 생성topic, value는 필수 / partition, key는 선택2. 객체 직렬화ProducerRecord 전송 API 호출 시 프로듀서는 키와 값 객체가 네..
-
[카프카 핵심 가이드] CH1. 카프카 시작하기Study/카프카 핵심 가이드 2025. 2. 4. 00:50
토픽과 파티션카프카에 저장되는 메시지는 토픽 단위로 분류된다.토픽은 여러 개의 파티션으로 나뉘어진다.파티션은 하나의 로그에 해당한다.파티션에 메시지가 쓰여질 때는 추가만 가능(append-only)한 형태로 쓰여지며, 읽을 때는 맨 앞부터 제일 끝까지의 순서로 읽힌다.토픽 안의 메시지 전체에 대해 순서 보장 X, 단일 파티션 안에서만 순서 보장파티션은 카프카가 데이터 중복과 확장성을 제공하는 방법이기도 하다.확장성각 파티션이 서로 다른 서버에 저장될 수 있음하나의 토픽이 여러 개의 서버로 수평 확장되어 하나의 서버 용량을 넘어서는 성능을 보여줄 수 있음데이터 중복파티션은 복제될 수 있음서로 다른 서버들이 동일한 파티션의 복제본을 저장하고 있어 서버 중 하나에 장애가 발생해도 읽거나 쓸 수 없는 상황이 벌..
-
14장. 고성능 로깅 및 메시징Study/Optimizing Java 2024. 7. 31. 08:24
개요지연에 민감한 고성능 어플리케이션을 다룰 때 개발자가 해결해야 하는 일반적인 이슈 몇가지를 살펴보고, 이런 시스템에는 어떤 요건이 있고 어떠한 방식으로 설계해야 하는지 안내함저지연, 고성능 시스템에서 핵심적인 고려사항 2가지는 로깅과 메시징 14.1 로깅다른 라이브러리와 마찬가지로 로깅 라이브러리도 프로젝트 도입 전 신중한 확인이 필요하다. 14.1.1 로깅 벤치마크가장 많이 쓰는 세가지 로거(Logback, Log4j, java.util.logging)의 성능을 비교하는 벤치마크를 살펴보자 방식해당 자료를 사용해 벤치마크 수행해당 프로젝트는 여러 가지 설정으로 다중 로거를 실행 가능한 벤치마크 제공함 로깅 포맷1) Logback 포맷14:18:17.635 [Name Of Thread] INFO c..