////
Search
Duplicate
💗

중간 발표 자료

B02_YOUngChat_중간_발표_자료.pdf
3062.0KB
시연.mp4
6932.2KB

프로젝트 기획

프로젝트 명 : YOUngChat!
소개
한 줄 정리 : 실시간 채팅 서비스를 제공하는 채팅서비스
내용 :
YOUngChat은 채팅으로 텍스트, 이미지, 영상을 주고 받을 수 있습니다.
YOUngChat은 1:1 채팅방 및 단체 채팅방 개설이 가능합니다.
채팅방을 폴더(그룹)별로 구분할 수 있습니다.
서비스 스코프를 줄이는 대신, 기술 스택에 집중하고자 하였습니다.
로깅을 통한 성능 통계 및 정보 수집
로그 표준화를 통한 비선형 관계 데이터 선형화
데이터 관계 이해 및 분석
성능 비교를 통한 쿼리 최적화
버그 정보 확인 및 해결에 이용
대용량 트래픽 처리
다수의 사용자가 동시에 요청을 보낼 경우, 서버 부하 방지를 위해 Scale-out 도입
Http Polling, WebSocket 비교 및 적용
채팅, 채팅방 조회 시 Http Polling 방식을 사용할 경우 서버 부하 증가 및 효율성 저하
WebSocket 적용
페이징 처리의 중요성
많은 양의 데이터를 한 번에 가져올 경우, DB 부하 증가
페이징 처리를 통해 성능 개선

ERD (E-R Diagram)

아키텍처

MVP 시연 영상

기술적 의사 결정

추후 개발 예정 및 기술 도전 계획

최종 완성본 서비스 아키텍처 구상도
CQRS 패턴 도입
많은 양의 데이터를 저장해야 하는 채팅 서비스의 특징
Select, Insert, Update 등과 같은 쿼리가 같은 DB에 대용량으로 저장될 경우, DB 부하 및 다운의 우려가 있음
이에 Master-Slave DB를 생성하여 긴급한 상황에는 Slave DB를 Master DB로 승격시켜 최악의 상황에 대비
로드밸런서 도입 (ELB)
한 서버에 대량의 트래픽이 몰릴 경우 서버가 다운될 것이므로, Scale-out를 적용
로드밸런서를 통해 트래픽 분
MVP 개선 기능
Web Socket 적용
페이지네이션
채팅방 그룹화 기능 추가

프로젝트 관련 질문 답변