T
TechInsights
목록으로
Architecture•2025. 01. 02.

딜리버리 프로덕트 개발팀의 개발문화 - 로그 & 알람편

컬리
컬리 Engineering Team
딜리버리 프로덕트 개발팀의 개발문화 - 로그 & 알람편

핵심요약

원문 보기

딜리버리 프로덕트 개발팀이 서비스 안정성을 확보하기 위해 기울인 노력과 구체적인 기술적 접근 방식을 요약합니다. 이 글은 안정적인 서비스 제공을 위한 도전과 해결 과정을 다룹니다.

딜리버리 서비스 안정화 여정

서비스 안정성 확보의 필요성

  • 사용자 경험 저하와 비즈니스 손실 방지를 위한 고가용성 및 안정성 확보가 핵심 목표였습니다.
  • 급증하는 주문량과 복잡해지는 시스템 아키텍처는 예측 불가능한 장애 발생 위험을 높였습니다.
  • 실시간 배달 서비스 특성상 지연 시간(latency) 최소화와 즉각적인 장애 대응이 필수적이었습니다.

기술적 접근 및 구현 전략

  • 분산 트랜잭션 모니터링 시스템을 도입하여 주요 서비스 간 호출 흐름과 병목 지점을 식별했습니다.
  • Circuit Breaker 패턴과 Retry 메커니즘을 적용하여 외부 서비스 의존성 장애가 전체 시스템으로 전파되는 것을 방지했습니다.
  • Auto Scaling Group 설정을 최적화하고, Traffic Shifting 전략을 통해 서비스 배포 및 롤백의 안정성을 확보했습니다.
  • 컨테이너 오케스트레이션(Kubernetes) 환경에서 리소스 사용량 및 Pod 상태를 Prometheus와 Grafana로 시각화했습니다.

장애 대응 및 개선 프로세스

  • 알람 시스템을 고도화하여 특정 임계치 초과 시 Slack 알림 및 담당자 호출 체계를 구축했습니다.
  • 장애 발생 시 **Root Cause Analysis(RCA)**를 통해 근본 원인을 파악하고, 재발 방지를 위한 개선 사항을 도출했습니다.
  • 카나리 배포(Canary Deployment) 전략을 도입하여 신규 기능 배포 시 잠재적 위험을 최소화했습니다.

성공적인 안정화와 향후 과제

  • 지속적인 모니터링 강화와 장애 예측 시스템 구축을 통해 서비스 안정성 수준을 한 단계 끌어올렸습니다.
  • 성능 테스트(Performance Testing) 및 **부하 테스트(Load Testing)**를 정기적으로 수행하여 잠재적 취약점을 사전 발견하고 개선합니다.
  • MSA(Microservices Architecture) 환경에서의 데이터 일관성 유지와 분산 시스템의 복잡도 관리가 지속적인 과제로 남아 있습니다.
#Architecture#BackEnd
컬리
컬리

컬리 Engineering Team

기술 인사이트를 전달하는 공식 채널

You might also like

View all
Neptune GraphRAG Toolkit을 활용하여 정교한 비정형 데이터 검색하기

Neptune GraphRAG Toolkit을 활용하여 정교한 비정형 데이터 검색하기

기존 개발 코드(Java)로 Amazon Neptune Analytics GraphRAG 구현하기

기존 개발 코드(Java)로 Amazon Neptune Analytics GraphRAG 구현하기