
프로젝트 소개
삼성 청년 SW 아카데미 9기에서 진행한 공통(웹 기술) 프로젝트로, WebRTC를 활용한 프로젝트입니다.
신선도를 유지하기 위해 이른 새벽부터 오프라인으로 참석하여 진행하는 경매 시스템을 온라인으로 전환하여, 화훼 도매업자분들께 다양한 편의성을 제공하는 서비스입니다.
🏆 삼성 청년 SW 아카데미 공통 프로젝트 우수상
프로젝트 기간
2023.07.04 ~ 2023.08.18 (46일)
팀 구성
Back-End 4명 / Front-End 2명
사용 기술
Untitled
인프라 아키텍쳐

ERD

🔵 User Service / 🟢 Admin Service
프로젝트 진행 내용
1. Micro Service Architecture (MSA) 도입
- 실시간 경매 서비스를 개발하면서 예상치 못한 대규모 트래픽이 발생할 것으로 예상되어, Monolithic Architecture를 통한 개발 시 단일 서버 장애로 인한 전체 서비스 마비 가능성을 고려했습니다. 이에, 하나의 서비스 장애가 발생하더라도 사용자 경험에 지장 없이 모든 서비스를 제공하기 위해 Microservice Architecture(MSA) 도입으로 결정하게 되었습니다.
해결 과정
- MSA 환경을 구축하기 위해 넷플릭스에서 제공하는 Spring Cloud Eureka와 클라이언트 요청을 적절한 서비스로 라우팅하기 위해 Spring Cloud Gateway를 활용하여 개발했습니다.
- 서버 간 환경 설정에 차이가 있던 상황에서 Spring Cloud Config를 도입하여 각 서버의 설정 정보를 중앙 집중화하고 외부화했습니다. 이로써 운영과 개발 설정을 분리하고 Git을 통해 중앙 관리함으로써 변경 작업이 용이해졌습니다.
2. Spring REST Docs를 사용하여 API 문서의 신뢰도 증가
문제 상황
- Swagger를 이용해 API 문서를 작성하는 과정에서 프로덕션 코드에 대한 침투적인 측면과 테스트와의 연관성 부재로 인해 문서의 신뢰성이 떨어진다고 판단했습니다.
해결 과정
- REST Docs 도입
- REST Docs를 도입하여 작성된 테스트 코드를 기반으로 API 문서가 생성되도록 하자, 그 결과 오류가 줄어들었고 문서의 신뢰도가 크게 향상되었습니다.
- 테스트 코드를 작성함으로써, 프로덕션 코드를 개발할 때 테스트 코드에 기반하여 더 비침투적인 방식으로 작성할 수 있었습니다.