
핵심요약
MSA 환경에서 올리브영은 다양한 도메인 데이터를 효율적으로 연동하기 위해 데이터 특성에 기반한 캐시(Redis) 및 이벤트(Kafka) 하이브리드 전략을 사용합니다. 이는 서버 부하를 줄이고 실시간 데이터를 안정적으로 제공하기 위함입니다.
올영매장 MSA 환경 데이터 연동 전략
MSA 환경에서의 데이터 통합 과제
- 올리브영의 MSA 환경에서는 스토어, 쿠폰, 주문 등 다양한 도메인 데이터가 여러 스쿼드에서 개별적으로 관리됩니다.
- 데이터 연동 시 무분별한 API 호출은 서버 리소스 낭비를 초래할 수 있습니다.
- 따라서 데이터의 사용처, 변경 특성, 라이프사이클을 고려한 효율적인 연동 방식 설계가 필수적입니다.
데이터 연동 전략 분석: 캐시 vs. 이벤트 하이브리드
사례 1: 오프라인 프로모션 데이터 - 캐시(Redis) 전략
- 특성: 변경 빈도가 낮고(Low Change), 실시간 제공이 필요한 데이터.
- 연동 방식: Cache-Aside 패턴을 적용하여 Redis 캐시를 활용합니다.
- 효율성: 갱신 시점에만 API 호출하여 서버 부담 최소화.
- 안정성: 트래픽 급증 시 캐시에서 안정적으로 데이터 제공.
- 정확성: 주기적 배치로 만료된 데이터 자동 삭제 및 변경 데이터 갱신.
사례 2: 픽업 주문 데이터 - 이벤트(Kafka) + 캐시 하이브리드
- 특성: 변경이 잦고(High Change), 실시간 업데이트가 필수적인 무거운(Heavy) 데이터.
- 연동 방식: Event Notification 패턴 기반 Kafka 이벤트와 Redis 캐시를 결합한 하이브리드 전략 사용.
- 효율성: Kafka로 상태 변경 알림만 수신하고, Redis에는 API 호출 Key만 캐싱하여 필요한 경우에만 API 호출.
- 안정성: Kafka를 통한 실시간 이벤트 감지 및 경량 메시지로 통신 부하 감소.
- 정확성: 실시간 이벤트 기반으로 항상 최신 상태의 픽업 현황 제공.
핵심 교훈
- 데이터 특성 기반 연동 전략: 변경 빈도, 사용처, 라이프사이클 등 데이터 고유 특성에 따라 캐시, 이벤트 기반 연동 등 최적의 전략 선택.
- 소비자 주도 설계: 데이터를 소비하는 팀이 연동 방식 의사결정을 주도하여 MSA 환경에서의 책임과 자율성 확립.