우아한 데이터 허브. 일 200억 건 데이터 안전하게 처리하는 대용량 시스템 구축하기 #우아콘2024 #우아한형제들
우아콘 2024 우아한형제들 · YouTube
AI 핵심 요약
여러 서비스가 각자 데이터를 주고받던 구조에서는 데이터 연동과 스펙 협의가 복잡했고, 하루 약 200억 건의 적재와 분당 약 700만 건의 조회를 안정적으로 처리해야 했습니다. 이를 위해 Kafka 기반 이벤트 통합, 워크플로 처리, 복제와 샤딩을 적용한 저장소, RPC 라이브러리를 결합한 데이터 허브를 구축했습니다. 데이터 특성에 맞춰 키 기반 파티션과 디렉터리 기반 샤드 매핑을 사용하고, 컨슈머 동시성과 처리량을 조절해 트래픽 급증을 완화했습니다. 처리 로직은 독립 태스크와 플로우로 구성해 실패한 단계만 재처리할 수 있게 했으며, 변경에 유연한 구조와 데이터 정합성을 함께 고려해야 한다는 점을 공유했습니다.
- 생산량이 소비량을 넘을 때는 Kafka 컨슈머 동시성, 처리 서버 수, 비동기 스레드 설정으로 유입 속도를 조절하세요.
- 애플리케이션 레벨 샤딩에서는 파티션 키와 샤드 매핑을 분리하면 핫 파티션에 대응하기 쉽지만, 리밸런싱 비용과 시간을 고려해야 합니다.
- RPC 스키마를 공통 모듈로 관리하면 서비스 간 데이터 형상과 호환성을 유지하는 데 도움이 됩니다.
- 데이터 처리 단계를 독립 태스크로 나누면 실패한 단계만 재실행하고, 태스크 간 호출 결합도를 낮출 수 있습니다.
소개
[WOOWACON2024 세션 다시보기] 👉 세션 설명 ㅤ 배달의 민족은 전국 식당들의 메뉴와 주문 뿐만아니라 커머스 대형 셀러들과 연동하여 실시간 배달 서비스를 제공하고 있습니다. 제공하는 서비스에서 발생하는 하루 평균 200억 건의 데이터가 흘러가는 시스템을 안정적으로 구축하고 운영한 사례를 공유드립니다. 1부: 시스템 아키텍처 편 대용량 데이터 처리 시스템을 도입하는 과정에서의 고민과 적용한 기술 그리고 아키텍처를 설명합니다. 2부: 음식 배달, 물건 배달 서비스 구축 편 데이터 정합성과 재처리 복원 등을 고려한 가장 안정적이고 지속가능한 시스템 구조를 만들기 위한 고민과 해결사례를 공유합니다. ㅤ 👉 발표자 소개ㅤ 김민중, 서버 개발자 장재주, 서버 개발자 윤보민, 서버 개발자 김병화, 서버 개발자