스마일게이트 윈터데브캠프 2023 - Plop
맡은 파트(BE) : 서비스 디스커버리, 게이트웨이, 인증 서버, 유저 서버, 푸시 서버
현재 페이지는 이제호가 맡은 파트를 중심으로 기록하였습니다.
1. 목표
2. 주요 기능
3. 사용 기술
4. 아키텍처
5. DB 스키마
6. 상세 기능
7. 서버별 주요 코드
8. 개인 성장
9. Docs
짧은 시연 영상 (유튜브 링크, 1분 56초)
- 백엔드 : Spring Boot, Spring Cloud(Eureka, Gateway)
- 데이터베이스 : MySQL
- 캐시 : Redis
- 배포 : Docker, AWS EC2, AWS RDS, AWS S3
- 푸시 알림 : FCM
상세 아키텍처 |
배포 아키텍처 |
|
|
유저 & 인증 |
푸시 알림 |
|
|
서비스 |
URL |
포트 풀 |
전체(Gateway) |
http://${AWS-public-IP} |
:8000 |
인증 |
http://${AWS-public-IP} |
:8011~8019 |
유저 |
http://${AWS-public-IP} |
:8021~8029 |
채팅 |
http://${AWS-public-IP} |
:8031~8039 |
푸시 |
http://${AWS-public-IP} |
:8041~8049 |
Scale-out 가능하도록 포트 풀을 지정하였음.
- Access/Refresh 토큰 기반 로그인
- Jwt 토큰 발급 / 만료
GlobalExceptionHandler & ErrorCode
- 캐시, TTL(Time-To-Live, 랜덤 코드에 적용)
- 푸시 알림 기능 활용