- 게임을 위한 공간
- 유저들은 게임 구매로 사용
- 유통사 또는 개발사는 게임 발매 및 정보 관리
- 특정 날(대규모 세일 주간)에 다이나믹하게 변동하는 대용량 트래픽을 견뎌내는 게임 유통 사이트(ESD) 구현
- 단순한 기능 구현과 구조에서 벗어나 보다 의미 있고 가독성 높은 코드를 작성
- 기존에 사용하던 기술들을 정확히 이해하며 객체지향 정신을 받아 코드에 녹여내고자 함
- Java 8
- Spring Boot 5
- Maven
- Tomcat
- MySQL (Master-Slave)
- Redis (session, cache)
- Docker
- Naver Cloud Platform
- Jenkins
- agile 개발 환경에 적합한 운영 방법으로 feature 별 개발 진행과 빠른 피드백 반영
- Git Flow의 slim version을 사용
- main 브랜치는 운영 브랜치로써 완성된 코드를 구비해 언제든 배포가 가능하도록 관리
- develop 브랜치는 통합 환경으로 개발된 feature를 합체
- feature 브랜치는 목적에 맞게 독립적으로 관리하며 동시 개발이 가능해 기능 개발 시간 딜레이를 최대한 축소
- 카카오 오븐을 이용한 화면 구성 링크 : 카카오 오븐
- 대용량 트래픽을 위한 유통 시스템 설계 → https://daakludens.github.io/project/scale-up-out/
- 분산 서버를 이용하며 세션을 유지하는 방법 → https://daakludens.github.io/project/session/
- DB 부하 분산을 위한 캐시 적용 → https://daakludens.github.io/project/redis-cache/
- DB 부하 분산을 위한 윈도우 환경 MySQL replication 설정 → https://daakludens.github.io/project/replication/
- 세션과 캐시 분리를 위한 Redis 분리와 Docker 사용 → https://daakludens.github.io/project/separate-redis/
- 코드의 동작을 보장하기 위한 단위 테스트 적용 → https://daakludens.github.io/project/unit_test/
- 빌드와 단위 테스트 자동화를 위한 Jenkins CI 도입 → https://daakludens.github.io/project/jenkins-ci/
블로그 링크 : https://daakludens.github.io/