Kafka의 Consumer group과 rebalance (Spring Boot)
Kafka가 consumer group에 partition을 할당하는 방식, rebalance가 발생하는 시점, Spring Boot 애플리케이션에서 rebalance의 영향을 줄이는 방법을 알아봅니다.
Kafka가 consumer group에 partition을 할당하는 방식, rebalance가 발생하는 시점, Spring Boot 애플리케이션에서 rebalance의 영향을 줄이는 방법을 알아봅니다.
Debezium으로 PostgreSQL의 WAL을 읽어 모든 데이터 변경을 Kafka로 보내고, 데이터 저장 로직을 수정하지 않고도 Spring Boot로 처리하세요.
Kafka producer의 acks, enable.idempotence, batch.size, linger.ms를 구성하여 메시지 손실 없이, 중복 없이 높은 throughput을 달성하세요.
Consumer lag이 무엇인지, CLI, AdminClient 및 Micrometer로 측정하는 방법, 추적해야 할 broker/producer/consumer 메트릭 및 적절한 알림 설정 방법을 다룹니다.
Kafka를 Order의 event log로 사용: 불변 이벤트 기록, replay로 상태 재구성, projection으로 read model 생성. 적용 전에 알아야 할 제한사항 포함.
데이터베이스에 쓰고 동시에 Kafka로 메시지를 보내기는 매우 쉽게 이벤트를 잃을 수 있습니다. 이 글은 Spring Boot 3과 Kafka를 사용하여 Outbox pattern을 설정하고 양쪽이 항상 일치되도록 하는 방법을 안내합니다.
Spring Boot와 Kafka로 orchestration 방식의 Saga pattern을 구현합니다. 항공편 예약, 호텔 예약, 결제를 처리하고 한 단계가 실패할 때 자동으로 보상합니다.
Confluent Schema Registry를 Spring Boot 3에서 Avro와 Protobuf와 함께 사용하여 Kafka 메시지 형식을 관리하고 안전한 스키마 진화를 구현하는 방법
Spring Boot 3에서 Kafka consumer의 차단 및 비차단 retry를 설정하고, 오류 메시지를 dead letter topic으로 전송하며, 동작을 검증하는 테스트를 작성하세요.
Kafka가 key에서 partition을 선택하는 방법, hot partition을 만들지 않으면서 올바른 메시지 순서를 유지하기 위해 key를 선택하는 방법, Spring Boot에서 흔한 실수들.
Rebalance가 어떻게 작동하는지, Consumer가 메시지 처리를 멈추는 이유, 그리고 poll 구성, cooperative rebalancing, static membership으로 최소화하는 방법.
acks, retries, idempotence가 함께 작동하여 producer가 Kafka에 데이터를 보낼 때 메시지 손실과 중복을 방지하는 방식을 학습합니다.
Kafka의 세 가지 핵심 개념 — topic, partition, offset — 을 설명하고 Spring Boot 예제를 포함합니다.