
백엔드
레거시 탈출! 추천 구좌 시스템 개선기
두줄요약
추천 구좌 시스템을 전시 서버 중심으로 재구성하고 서킷 브레이커, 전략 패턴, 비동기 처리로 안정성과 확장성을 높였습니다. 또한 어드민 기능과 E2E 비교 테스트를 도입해 운영 부담과 배포 리스크를 줄였습니다.
문제 상황
- 추천 구좌 노출까지 여러 마이크로서비스를 동기 호출하던 복잡한 구조
- 고유 코드와 DB 기반 스펙 관리로 인한 가독성 저하, 이력 추적 및 유지보수 난이도 상승
- 검색 서버 장애, 하드코딩, 비즈니스 로직 분산으로 인한 확장성과 안정성 문제
해결 방법
- 추천 로직을 전시 도메인 서버로 이관하고 서킷 브레이커와 fallback 적용
- 전략 패턴과 Enum으로 추천 스펙을 애플리케이션 내부에서 관리
- 어드민 관리 기능 도입, 상품 서버 전환, WebFlux와 Mono.zip 기반 비동기 병렬 처리 적용
주의할 점
- 개발 환경과 실제 환경 차이로 인한 QA 이슈와 신구 구좌 싱크 검증 필요
- 추천 타입, 구좌보기, 동물 종류, 로그인 상태, 버전 조합 증가로 테스트 범위 확대 필요
적용해볼 점
- 점진적 개선으로 기존 안정성을 유지하면서 의존성과 장애 전파를 줄이는 접근
- E2E 테스트 도구를 활용한 신구 비교 검증 자동화
