Spring boot, Java, Spring data JPA, Mysql, Redis, Jenkins, Github, naver cloud flatform, firebase
- 배달의 민족같은 배달 앱 서비스를 구현해 내는 것이 목표입니다.
- 대표 기능으로는 메뉴, 음식점, 주문 기능이 있습니다.
- 단순 기능 구현뿐 아니라 Scailibility한 서비스를 구현하는 것이 목표입니다.
- 스터디와 코드 리뷰, 페어프로그래밍을 통해 함께 자라기가 목표입니다.
-
EnjoyDelivery 이슈 1. 가게 데이터 조회 시 N+1문제 해결하기 - Fetch join, @EntityGraph
-
EnjoyDelivery 이슈 2. 장바구니 메뉴 조회 시 redis의 O(N) 명령어를 O(1) 명령어로 변경
-
EnjoyDelivery 이슈 3. 다중 서버에서 인증 정보는 어디에 저장할까 : Session Storage
- 대규모 트래픽 처리를 위한 애플리케이션 아키텍처를 구현
- 다중 서버 환경에서 Session Storage 활용한 인증 구현
- 새로운 스레드풀을 만들고 @Async를 이용하여 비동기 푸쉬 알람 서비스 구현
- 가게 데이터 조회 시 N+1문제 해결하기
- 의존적이지 않은 단위테스트 작성
- Redis Cache를 이용해 장바구니 기능 구현
- 스프링의 @Transactional을 이용하여 작업의 완전성 보장하기
- Jenkins pipeline을 사용하여 CI/CD 환경 구축
- Redis scan을 활용하여 장바구니 조회 성능 최적화
- naver Cloud Platform을 이용하여 로드밸런싱