YOUng Chat!
단순한 기능과 한 눈에 들어오는 UI로 남녀노소 누구나 쉽게 사용할 수 있는 실시간 채팅 서비스 입니다.
서비스 로직보다는 기술적인 도전을 더 중점적으로 진행하였습니다.
YOUngChat 바로 가기
아키텍처
주요 기술
WebSocket & STOMP & RabbitMQ
JMeter
Spring Security & JWT & Redis
실시간 채팅
•
1:1 채팅 구현
•
단체 채팅 구현
채팅 알림
•
Message Broker인 RabbitMQ를 이용한
채팅 알림 서비스 구현
부하테스트
•
JMeter를 이용한 부하테스트 진행 →
성능 개선
이메일 인증 및 회원 가입
•
회원 가입 시 이메일 인증 진행
•
Redis에 Authentication Code, User 정보 저장
•
인증 진행 후 삭제하여 재접근 제한
인증/인가
•
JWT를 이용한 AccessToken과 RefreshToken 발급 및 로그인 처리
•
Token 방식의 회수 불가능한 단점 보완을 위한 Redis TTL 방식 로그아웃 처리
사용 기술
Back-end
Front-end
Database
Infra
기술적 의사 결정
페이징 처리를 통한 성능 개선
부하테스트
채팅 서비스 통신 방법
외부 메시지 브로커
CI / CD
로깅 전략
트러블슈팅
️ 로컬에서 RabbitMQ 적용 후 배포 환경에서 작동이 안되는 문제
팀원
팀 노션