1. 프로젝트 개요

1-1 프로젝트 소개

image

1-2 프로젝트 기술스택

image

2. Architecture

2-1. AWS Architecture

image

2-2. CI/CD Acritecture

image

2-3.ChatService Acritecture

image

2-4.Notification

SSE를 사용할 때 단일서버일 경우에는 문제가 없지만 서버를 Scale-out 할 때 문제가 발생한다.
사용자 정보를 SseEmitter가 서버 메모리에 저장되어 있기 때문이다.
그래서 알림을 전송할 때 publish 및 dynamodb에 저장하고 redis topic에 담아 Scale-out할 때도 모든 서버에서 subscribe할 수 있도록 처리하였습니다.

image

3. API서버개발 및 API문서화/테스트

백엔드 API 서버 개발은 Java와 Spring 기반으로 진행하였으며, OpenAPI Spec에 맞는 RESTful한 API를 개발하였습니다. API 서버 개발은 Swagger와 Postman을 통해 문서화 및 테스트를 진행하였습니다. image

image

Postman을 이용하여, Development 환경과 Deployment 환경 모두에서 API 테스팅을 할 수 있도록 자동화 구성하였습니다.

ArgoCD Application Detail Tree image

4. 수행 방법 및 프로젝트 관리

4-1. 개발 프로세스

image