Kafka 파티션 증설 없이 처리량 한계 돌파하기: Parallel Consumer 적용기 #우아콘2025 #우아한형제들
우아콘 2025 우아한형제들 · YouTube
AI 핵심 요약
주문 이벤트 플랫폼에서 소비처의 처리량 부족으로 Kafka lag가 증가했지만, 컨슈머 증설은 파티션 수에 제한되고 로직 최적화는 소비처에 맡겨야 하며 파티션 증설은 리밸런싱·오프셋 초기화·DLT 문제를 일으킬 수 있었다. 이를 해결하기 위해 Parallel Consumer를 컨슈머 SDK에 적용해 한 파티션의 여러 메시지를 병렬 처리하고, 키 단위 순서를 유지하면서 오프셋 맵으로 완료 여부를 관리하도록 했다. 도입 과정에서는 Spring Kafka와 다른 재시도·DLT·재시작 동작을 보완하고, 내부 메트릭을 활용해 모니터링을 추가했다. 테스트에서 처리 시간이 개선됐고 운영 결과 컨슈머 적용 비용은 평균 66% 감소하고 처리량은 약 50% 개선됐으며, CPU 사용량과 서비스 특성을 고려해 도입 여부를 판단해야 한다는 점을 강조했다.
- 파티션 수와 컨슈머 인스턴스 수가 같다면 인스턴스만 늘려도 유효한 병렬 처리량은 증가하지 않는다.
- Parallel Consumer는 키 단위 샤딩으로 같은 키의 순서를 유지하면서 서로 다른 키의 메시지를 병렬 처리한다.
- 병렬 처리 중에는 완료된 오프셋과 미완료 오프셋을 추적하므로, 커밋 오프셋과 실제 처리 위치가 달라질 수 있다.
- 도입 전 재시도 횟수 제한, DLT 발행, 재시작 시 객체 재생성 등 Spring Kafka와 다른 동작을 보완해야 한다.
- 기존 Kafka lag 지표만으로 상태를 판단하지 말고, 처리 중 메시지 수와 대기 큐 등 Parallel Consumer 내부 지표도 함께 모니터링한다.
소개
[세션 설명] 배달의민족 앱 내의 이벤트 전송 플랫폼인 LaaS(Logistics as a Service)에서 Kafka 처리량 한계를 겪으면서 파티션을 늘리지 않고도 처리량을 확장할 수 있는 방안을 고민한 경험을 공유합니다. 이 과정에서 Parallel Consumer 라이브러리를 도입하게 된 배경과 적용 과정, 운영 중 마주쳤던 이슈 및 해결 방안, 그리고 실제 운영 성과를 중심으로 소개합니다. [발표자 소개] 남민정(서버 개발자)
이 자료가 담긴 로드맵
커뮤니티에서 더 보기비슷한 학습 자료
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (5)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025 에서 발표되었던 세션을 공개합니다. [발표 내용] Consumer Group Protocol v2를 소개합니다. [발표 대상] 조직에서 Kafka를 사용하거나 관심 있는 분들 Consumer Group Protocol 에 대해 관심 있는 분들 [목차] - Consumer Group Protocol (v1) 특징과 문제점 - Consumer Group Protocol (v2) 특징 - 장점 - 성능 - 사용법 - 설정 - 툴 - 마이그레이션
백엔드 네트워크
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (5)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY 2025 에서 발표되었던 세션을 공개합니다. [발표 내용] Consumer Group Protocol v2를 소개합니다. [발표 대상] 조직에서 Kafka를 사용하거나 관심 있는 분들 Consumer Group Protocol 에 대해 관심 있는 분들 [목차] - Consumer Group Protocol (v1) 특징과 문제점 - Consumer Group Protocol (v2) 특징 - 장점 - 성능 - 사용법 - 설정 - 툴 - 마이그레이션
백엔드 네트워크
컨퍼런스 엔지니어링데이 2025
서비스 조직에서 Kafka를 사용할 때 알아 두어야 할 것들 (4)
컨퍼런스 엔지니어링데이 2025
네이버 사내 기술 교류 행사인 NAVER ENGINEERING DAY에서 발표되었던 세션을 공개합니다. 1,2편의 경우 아쉽게도 사내용만 발표되어 3,4편 만 외부공개가 진행되는 점 양해 부탁드립니다. [발표 내용] Kafka 프로듀서 최적화하기 + 압축 기능 활용하기 [목차] 1. 배경: Kafka 자료 구조 - Kafka 자료 구조는 어떻게 생겼는가? 2. 프로듀서 동작 방식 및 최적화 방법 - 프로듀서와 브로커는 어떻게 메시지를 주고받는가? - linger.ms, batch.size, buffer.memory 사용법 3. 압축 동작 방식 및 최적화 방법 - (재)압축은 어떻게 이루어지는가? - compression.type, compression.{type}.level 사용법
백엔드 네트워크 로드맵 1개에 담김
컨퍼런스 우아콘 2023
Kafka를 활용한 이벤트 기반 아키텍처 구축 #우아콘2023 #우아한형제들
컨퍼런스 우아콘 2023
[WOOWACON2023 세션 다시보기] 👉 세션 설명 이벤트 기반 아키텍처를 적용했던 경험담을 공유 드립니다. 이벤트 정의부터 구현 과정 그리고 이후로 더 해볼 수 있는 것들까지, 우리가 고민했던 부분들을 이야기해보려 합니다.ㅤ ㅤ 👉 발표자 소개 딜리버리서비스팀 임준수 시행착오를 겪으며 계속 고쳐나가려는 개발자입니다. 좋은 서비스를 만들기 위해 노력하고 있습니다. 배차시스템팀 송인태 다양한 도전과 경험을 기반으로 지속 가능한 서비스를 구축 및 제공하는 데 관심이 많은 개발자입니다. 👍 추천 대상 - Kafka를 사용해 봤거나 개념에 대해 아는 개발자 - 늘어가는 시스템 복잡도로 고민이 많은 개발자 🙋🏻♀️ 세션에 대해 궁금한 점이 있다면 dev_relations@woowahan.com 으로 문의주시기 바랍니다.
백엔드 데이터베이스