AI Briefing

외부 셀러: 외부 스파크성 트래픽으로부터 내부 시스템을 보호하는 방법 (1탄)

·2023.12.15 21:32

핵심 내용

올리브영 외부 셀러 서비스가 비동기 처리와 서비스 분리를 통해 스파크성 트래픽으로부터 내부 시스템을 보호하는 아키텍처를 도입했다.

1 / 2

자세히 보기

기존의 외부 셀러 서비스는 쇼핑몰 통합 관리 솔루션의 요청을 올리브영 내부 API와 동기(Sync) 방식으로 연결하여 처리했습니다. 이 방식은 내부 API의 응답이 지연될 경우 외부 셀러 서비스의 CPU 및 Memory 부하를 유발하고, 사용자에게 긴 대기 시간과 네트워크 오류를 경험하게 하는 한계가 있었습니다.

이를 해결하기 위해 올리브영은 비동기(Async) 이벤트 기반 아키텍처를 도입했습니다. 서비스의 역할을 **요청 담당(seller-external-api)**과 **생성 담당(seller-internal-api)**으로 분리하고, 중간에 AWS MSK를 도입하여 트래픽을 완충했습니다.

  • 요청 담당 서비스: 필수 Validation 후 이벤트를 MSK로 전달하여 사용자에게 빠른 응답을 제공합니다.
  • 생성 담당 서비스: MSK의 이벤트를 소비하여 내부 API에 순차적으로 전달하며, 네트워크 이슈 발생 시 Retry 로직을 통해 안정성을 확보합니다.

또한, 분산된 환경에서 데이터 처리 순서를 보장하기 위해 Partition Key를 지정하여 동일한 상품 요청이 항상 동일한 파티션에 적재되도록 설계했습니다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.