1000만건 이상의 상품데이터를 빠르고 정확하게 검색가능한 이커머스 서비스 핫딜🔥!
내가 원하는 상품 빠르게 검색 가능한 조건 검색 서비스🔎
전날 기준 판매 수량이 가장 많은 인기 상품 조회 서비스🔎
대량의 트래픽 속에도 안정적인 동시성 제어를 통한 구매 서비스🛒
- 2023.05.19 ~ 2023.06.??
| 💀 황인용 | 👨⚕️ 김선민 | 🦇 조양기 | 🃏 황석빈 |
| 🌱 Spring | 🌱 Spring | 🌱 Spring | 🌱 Spring |
| 조건 검색 기능 | 조건 검색 기능 |
|---|---|
![]() |
![]() |
| - 대, 중분류 별 검색 기능 | - 최소, 최대 가격 조건 검색 기능 |
| 조건 검색 기능 | 조건 검색 기능 |
|---|---|
![]() |
![]() |
| - 키워드 검색 기능 | - 인기 상품 조회 기능 |
| 회원 가입 기능 | 로그인 기능 |
|---|---|
![]() |
![]() |
| - 회원 가입 기능 | - 로그인 기능 |
| 구매 기능 |
|---|
![]() |
| - 구매 기능 |
-
조건 검색 성능 개선
👉 조건 검색 성능 개선 기록 보기
👉 조건 검색 성능 테스트 보기 -
인기 상품 조회 성능 개선
👉 인기 상품 조회 성능 개선 기록 보기
👉 인기 상품 조회 성능 테스트 보기 -
동시성 제어 테스트
👉 동시성제어 테스트 보기 -
데이터 수집, 생성 및 관리
👉 데이터 수집, 생성 및 관리 기록 보기
A. 크롤링을 통해 데이터를 수집하는 과정에서 크롤링이 일부 진행된 이후 기하급수적으로 빠른 속도로 처리가 되고 프로세스가 종료되는 현상 발생
🛑 cause :
- 존재하지 않는 페이지에 대해서 빠르게 반복적인 요청을 보냄에 따라 IP가 일시적으로 차단 당했다고 판단하였습니다.
- 크롤링 결과 빈 값을 반환하는 페이지를 마주칠 경우 더 이상 해당 카테고리에 대한 크롤링을 멈추고 다음 카테고리로 넘어가는 코드로 수정하였습니다.
- 페이지 이동 간 휴식 시간 부여하였습니다.
B. 구매 데이터 확보를 위해 매일 새벽 1만 번의 구매 작업을 진행하는 상황에서 아침에 매번 서버가 다운되어 제대로 동작하지 않는 현상 발생
- 구매 데이터 생성 작업이 서버에 한 번에 일으키는 부하를 줄임으로써 서버가 다운되는 문제를 해결하였습니다.
상품 구매에 대한 테스트 코드를 작성했으나 실제 재고가 감소하지 않는 문제 발생
🛑 cause:
- update 쿼리가 존재하지 않음. 현재 구매 로직에서는 JPA 더티 체킹을 통해 자동으로 update 를 하고 있는데 테스트 코드에서는 더티 체킹이 동작하지 않았다고 판단하였습니다.
- 테스트 코드 상에서 LimitedProductService 인스턴스를 직접 만들어서 사용하고 있기 때문에 빈 객체가 아니어서 발생한 문제였습니다.
- 테스트 코드에서 LimitedProductService도 @Autowired 를 이용해 주입 받는 것으로 변경해서 해결하였습니다.
콘솔에서 docker hub 로그인시 unauthorized Error
🛑 cause:
- docker hub 비밀번호가 ! 로 시작되어 콘솔에서 이벤트로 인식하여 발생한 문제였습니다.
- docker hub 로그인 비밀번호를 수정하였습니다. (!password → password, 맨 앞 느낌표 제거)
- 블로그 정리 글








