프로젝트
URL
- 23.11.14 ~ 23.12.15 (1개월)
- 총 5인 (FE : 2인, BE : 3인)
Github - https://github.com/Hojip-Kim/Worldisaster_Server
Youtube - https://www.youtube.com/watch?v=aA5FxHdKKfA
지원자 역할
- 팀장
- Google 소셜 로그인 + JWT 토큰 인증 API 구현
- PayPal 결제 시스템 구현
- Redis 캐싱 시스템 도입
- Redis pub/sub 시스템 도입
- Nginx를 통한 Load-Balancing, Reverse Proxy
- SSL/TLS인증을 통한 HTTPS 암호화 프로토콜 구축
지원자 기술적 기여
Redis pub/sub 시스템 도입
- 알림기능이 주된 서비스가 가진 특성상 트래픽이 몰릴것을 대비, 로드밸런싱을 진행하던 도중 클라이언트들이 서로 다른 소켓 서버로 진입함에 따라 채팅 소통이 이루어지지 않음을 확인하였습니다.
해결
- Redis의 pub/sub시스템을 알게되어 이를 활용, Redis서버의 ‘chat’ key를 구독한 서로 다른 소켓 서버들에게 BroadCasting하는 방법으로 소통이 이루어지게끔 해결하였습니다.
Redis 캐싱을 통한 성능 향상
해결
- 이를 처리하기 위해 Redis를 도입한 점을 활용, 메인페이지 구성을 위한 대량의 데이터를 캐싱화 하여 대량의 정적 데이터를 클라이언트에서 재 요구시 캐싱화 된 데이터를 제공해주는 방법을 활용하였습니다.
- 기존 6~7에 머물던 RPS를 180~190까지 올렸으며, 1000ms ~ 50000ms까지 가파르게 오르던 레이턴시 또한 40ms~50ms까지 머무르게하는 성능의 향상을 이끌어 내었습니다.