logo
logo
광고 송출 아키텍처
코드너리  |  2022. 05. 18
쇼핑 플랫폼
광고 서비스
사용된 기술:
fastapi-image
redis-image
spring-image
kotlin-image
content

(AS-IS) 기존에 송출은 해야 할 일이 너무 많았습니다.

송출이 서비스가 나가려면 Commerce API를 호출하고, Redis에 있는 상품 데이터를 가져다가 송출 데이터 위치에 맞게 광고 catalog set을 직접 선정해야 했습니다. 하지만 고객은 서버의 작업을 기다려주지 않습니다. 데이터를 직접 선정하고 데이터를 위치에 맞는 노출을 지정하는 작업이 기존 delivery에는 무척 느리거나 중복 지면이 많이 생기는 고된 일이 돼버렸습니다. 성능도, 데이터의 정합성도 계속 의심할 수밖에 없었던 아주 칠흑 같은 시간이었습니다.

 

(TO-BE) 신규 데이터 송출은 역할을 위임합니다.

그래서 데이터를 Catalog Set을 만들어주는 역할을 ETL이라는 데이터 구조에 위임했습니다. 각자의 역할을 명확하게 분담해, 데이터를 만들어 주는 쪽에서 어떤 데이터가 각 지면에 위치해야 하는지 주기적으로 밸런스를 조정해 줍니다. 그래서 delivery는 ETL이 N개로 만든 가장 최신의 Catalog Set을 Mongo에서 조회해 RDB가 가지고 있는 Product Meta 정보를 조회하는 작업만 진행합니다. 이렇게 이쁘게 만들어진 데이터 규격은 Catalog가 송출은 데이터를 완성하는 데 큰 보탬이 됩니다.

Copyright © 2024. Codenary All Rights Reserved.