올리브영, Kafka Streams로 품절 시스템 혁신!
by DD
5개월 전
조회수 86
Oracle 함수 직접 호출로 인한 품절 정보 조회 지연 문제를 해결하기 위해 Kafka Streams 기반의 EDA를 구축함
Kafka Streams를 활용하여 실시간 재고 처리 및 DB 의존성 제거를 달성, 유연한 시스템 구축
Oracle 함수 호출 86% 감소를 통해 올영세일 기간 중 안정적인 서비스 제공 가능
Kafka Streams를 활용한 아키텍처 설계
기존 Oracle 함수 호출 방식은 DB 부하를 유발하여 서비스 안정성을 저해했다. Kafka Streams 기반 EDA는 CDC를 통해 재고 변경 이벤트를 실시간으로 감지하고, OpenSearch에 품절 정보를 저장한다. 따라서 DB 의존성 감소와 실시간 데이터 처리를 동시에 달성했다.
Kafka Streams의 장점과 한계
Streams DSL을 통해 간결한 코드 구현이 가능하며, Consumer/Producer 통합으로 애플리케이션 구조를 단순화한다. 네트워크 통신이 필요한 작업은 지양해야 하며, 토픽 간 조인(Join) 시에는 동일한 파티셔닝 스키마를 따라야 한다. 실시간 데이터 처리에 최적화된 구조이다.
품절 시스템 개선 결과 및 향후 과제
개선 결과, Oracle 함수 호출 86% 감소라는 놀라운 성과를 거두었다. Kafka Streams를 활용하여 실시간 품절 처리가 가능해졌다. 조인(Join) 기능을 활용하지 못한 점은 아쉬우나, 향후 다양한 비즈니스에 적용할 계획이다. 확장성 확보 및 데이터 무결성을 지속적으로 개선할 것이다.