일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA
- 동시성
- Redis
- 공변
- 트랜잭션
- 상태패턴
- backend
- lazyloading
- 부하테스트
- B+TREE
- GithubActions
- CaffeineCache
- 지연로딩
- 재고 시스템
- 주문
- JDK14
- java
- Spring Data Redis
- Ehcache
- nonclustered index
- 리팩터링
- ci/cd
- Metaspace
- Jenkins
- 제네릭
- JAVA8
- springboot
- method area
- 웹캐시
- 카카오 화재
- Today
- Total
목록[프로젝트] 타임딜 API 서버 (6)
NDM
타임딜 프로젝트를 진행하며 내가 사용한 서버는 다음과 같다. 넘블 X 네이버 클라우드의 혜택으로 크레딧 20만원을 받아 아키텍처를 설계할 수 있었다. 1. SpringBoot 서버 1대 2. Nginx 서버 1대 3. Redis 서버 1대 ( Session & Caching ) 4. MySQL 서버 1대 5. Pinpoint 서버 1대 6. Jmeter 서버 1대 7. Prometheus & Grafana 서버 1대 1. SpringBoot Server 4vCPU, 8GB Mem, 50GB Disk 서버를 사용했다. 더 좋은걸 사용할수도 있었지만, 초기 세팅은 이정도로만 하고 나중에 Ngrinder로 부하를 발생시키며 Pinpoint로 모니터링하면서 크레딧이 얼마 남았는지 확인하며 스케일 업을 할 예정이..
넘블 타임딜 챌린지에는 다음과 같은 요구사항이 명시되어 있습니다. 로그인 관리는 세션으로만 하며, Spring Security나 JWT의 사용은 제한한다 WAS 서버는 1대로만 제한한다. 아마 이번 챌린지의 주된 목표는 재고의 동시성 처리와 상품조회에 있다고 생각해 다음과 같은 제약사항을 걸어두신 것으로 예상합니다. 구현하는데 시간이 더 걸리고, 인프라 구성 비용도 늘어나기 때문입니다. HttpServletRequest와 HttpSession을 이용해 손쉽게 구현할 수 있었지만, 다음과 같은 상황을 고려해보기로 했습니다. 이왕 참가한 만큼 무언가를 더 얻어가고 싶었기 때문입니다. WAS가 1대로 제한되어있으나, 이후 확장 가능성까지 고려하지 말라는 말은 없었다. 이후 확장 가능성을 고려한다면 어떻게 세션..