본문으로 이동
문서

Kurly에서 주문을 모니터링 하는 법

노준혁 컬리 · 컬리 기술 블로그

원문 보기

AI 핵심 요약

주문량 증가로 복잡한 조인·서브쿼리와 집계가 포함된 Legacy 검색이 느려지고, 타임아웃과 데이터 정합성 문제가 반복됐다. 이를 개선하기 위해 PHP 애플리케이션에서 주문 이벤트를 Kafka로 발행하고 Elasticsearch와 Kibana 대시보드로 실시간 주문 현황과 통계를 조회하도록 바꿨다. 배포 후 조회 속도와 가시성은 개선됐지만, 비동기 전송에 따른 유실과 이벤트 누락·중복 가능성을 확인해 flush, ack 설정, 로그 ID 기반 멱등성 보완이 필요했다. 모니터링 데이터는 운영 장애 파악뿐 아니라 비즈니스 인사이트에도 활용할 수 있으며, 수집 데이터의 정합성을 함께 설계해야 한다.

  • Kafka Producer는 비동기로 동작하므로 프로세스 종료 전에 flush를 호출해 전송 완료를 기다려야 한다.
  • ack 설정은 전송 확인 수준과 속도·유실 위험 사이의 균형을 고려해 선택한다.
  • 이벤트 수집은 DB의 현재 상태와 차이가 날 수 있으므로 누락 이벤트를 보완할 방법을 마련해야 한다.
  • 중복 이벤트에 대비해 로그 ID를 지정하면 멱등성을 확보하는 데 도움이 된다.

소개

Legacy 시스템에서 주문 모니터링을 Elasticsearch로 이전했습니다.

비슷한 학습 자료

문서 서민우

카프카 설정 튜닝만으로 색인 속도를 개선하다

백엔드 데이터베이스

문서 박수형

컬리의 Virtual 물류 센터

문서 박수형

Picking 공정 시뮬레이션의 구축부터 활용까지

게임 프로그래밍

문서 구병주

최적화 기법을 활용한 배송 효율화 사례 소개

딥러닝 · 머신러닝

문서 허재진

컬리 데이터 파이프라인의 BigQuery 도입 결과 및 효과

데이터베이스 데브옵스 · 인프라

문서 강동윤

Digital Twin을 구축해 최적화 알고리즘을 검증하기

알고리즘 · 자료구조 딥러닝 · 머신러닝

문서 강동윤

유전 알고리즘 적용을 통한 최적화 사례 소개

알고리즘 · 자료구조 딥러닝 · 머신러닝