총 걸린 시간: 19m 31s

4팀 모두의 플리 발표자료.pptx

[슬라이드 1. 모두의 플리] (17s)

안녕하세요. 대규모 트래픽 대응을 목표로 글로벌 콘텐츠 평점 및 큐레이션 플랫폼 ‘모두의 플리’를 개발한 4팀입니다.

프로젝트는 6월 18일부터 7월 29일까지 6주 동안 진행했고, 팀장 전승주, 팀원 이다솔, 박정현, 박나경이 참여했습니다.

[슬라이드 2. Index] (15s)

프로젝트 선정 배경과 기술 구성부터 팀의 역할과 협업 방식을 소개하겠습니다. 이어서 프로젝트 수행 과정과 성능 테스트 결과, 팀원별 트러블슈팅을 설명한 뒤 시연과 회고로 마무리하겠습니다.

[슬라이드 3. 프로젝트 개요] (2m)

그럼 프로젝트 개요부터 발표하겠습니다.

[슬라이드 4. 선정 배경]

저희는 실제 서비스를 운영하면서 마주할 수 있는 대규모 트래픽 상황에 관심이 있었습니다. 트래픽이 갑자기 늘어났을 때 발생하는 응답 지연이나 장애, 그리고 복구 과정까지 직접 구현해 보고 싶었습니다.

그래서 일반적은 CRUD 기능 구현은 물론, 인증·인가, 실시간 통신, 비동기 처리를 함께 경험해볼 수 있는 주제를 선택했습니다.

WebSocket과 STOMP, SSE, Kafka, Redis를 적용하면서 동시성 제어와 데이터 정합성까지 다뤄볼 수 있다는 점도 선정 이유였습니다.

[슬라이드 5. Backend 기술 스택]

백엔드는 Java 17과 Spring Boot를 기반으로 개발했습니다. 데이터베이스는 PostgreSQL 17과 테스트용 H2, 데이터 접근에는 Spring Data JPA와 QueryDSL을 사용했습니다.

캐시와 세션, 분산 환경 대응에는 Redis를 사용했습니다. 비동기 이벤트는 Kafka, 실시간 통신은 WebSocket, STOMP, SSE로 구현했습니다.

인증은 Spring Security와 JWT, OAuth2로 구성했습니다. 이 외에도 Spring Batch와 Spring Retry, AWS S3, Spring Mail 등을 사용했습니다.

[슬라이드 6. Infra 기술 스택]

인프라는 AWS를 중심으로 구성했습니다. 애플리케이션과 Nginx 이미지는 ECR에서 따로 관리했고, ECS에서 롤링 업데이트 방식으로 배포했습니다.

데이터베이스는 RDS PostgreSQL, Redis는 TLS가 적용된 ElastiCache를 사용했습니다. 파일은 S3에 저장했고, 주요 자원은 VPC의 프라이빗 서브넷 안에 배치했습니다.