ChatChat - 채팅 플랫폼
1. 프로젝트 개요
- 클라우드 네이티브 아키텍처를 기반으로 한 고성능 실시간 채팅 플랫폼입니다.
- 대규모 사용자의 동시 접속을 안정적으로 지원하며, 확장성과 사용자 경험을 최우선으로 고려하여 설계되었습니다.
- 개발 기간: 2024.01 ~ 진행 중
- 팀 구성: Backend 3명, Frontend 1명
- 담당 역할
- DevOps 설계 및 구현 (단독)
- 백엔드 아키텍처 설계 및 개발
2. 핵심 기능
2.1 실시간 채팅 및 알림
- 실시간 일대다 채팅
- 사용자 온라인 상태 실시간 관리
- 메시지 확인 수 실시간 반영
- 읽지 않은 메시지 알림 및 카운트
2.2 실시간 동기화 시스템
- 사용자 프로필 변경 실시간 반영 (프로필 이미지, 이름 등)
- 대화방 목록에서 읽은 메시지 수 실시간 업데이트
- 새로운 공지사항 실시간 알림 및 표시
- 채팅방 참여자 목록 실 시간 업데이트
2.3 고성능 메시징 시스템
- Spring WebFlux와 Kotlin 코루틴 기반 비동기 처리
- WebSocket과 Redis Pub/Sub 기반 실시간 메시징
- 커스텀 WebSocket 메시지 라우팅
2.4 DevOps 환경 구축
- AWS 기반 클라우드 인프라 설계 및 구현
- Infrastructure as Code를 통한 리소스 관리 자동화
- CI/CD 파이프라인 구축
- 컨테이너 기반 마이크로서비스 아키텍처 구현
- 개발 환경 생성 및 제거 자동화 시스템 구축(업무 시간에만 개발 환경 운영)
3. 기술 스택
3.1 Backend
- Framework: Spring Boot, Spring WebFlux
- Language: Kotlin
- Database: MongoDB(DocumentDB), Redis(ElastiCache)
- Message Protocol: WebSocket, HTTP API