프로젝트 소개
이커머스 플랫폼 중, 특정 시간에 트래픽이 몰리는 한정 수량 판매를 위한 서비스 형태입니다.
아키텍쳐
주요 기능
•
JWT 토큰 활용 유저 인증 인가처리
•
실시간 재고 확인
•
이메일 인증을 통한 회원가입
•
상품 구매 및 환불 시스템 구현
기술 스택
•
Spring Boot
•
Spring Web Flux
•
SpringCloud
◦
GATE-WAY
◦
NETFLIX-EUREKA
◦
CONFIG
◦
BUS
•
Spring Security
•
Redis
•
MySQL
•
JPA / Hibernate
•
NGrinder
•
Scouter
•
Docker (Compose)
트러블 슈팅
•
ngrinder를 활용한 100건 이상의 동시 요청시 NPE 발생
◦
Junit 테스트 코드를 활용한 조회, 삽입, 병렬 키워드의 문제 확인
◦
.parallel키워드가 없을 때 이상 없음을 확인한 후 동시성문제를 선정
◦
마켓컬리의 분산락 사용 방식을 참고하여 해결
•
상품목록 및 상세정보 조회 성능 개선
◦
TPS : 155.7 → 423
◦
동시 접속 시나리오 테스트 진행시 요청 처리 속도가 최대 6초까지 걸리는 현상 발생하여 Redis 캐싱 전략 도입
멘토 평가
전체적인 로직 및 데이터 베이스 구조 설계가 돋보이는 프로젝트 입니다. MSA를 처음 활용함에도 불구하고 지속적으로 학습, 문제 해결을 위해 고민하는 모습이 인상 깊습니다.