기간: 2024.04 ~ 2024.06 (3개월)
역할: 서버 개발 (팀원)
기술 스택: NestJS, TypeORM, Redis, MySQL, JWT, OAuth 2.0, Docker
게임 런처의 인증과 게임 로직을 담당하는 백엔드 시스템으로, Auth Server와 Game Server로 분리된 마이크로서비스 구조입니다. Facebook / Google / Apple 소셜 로그인을 지원하고, 대규모 트래픽 처리를 위한 Multi-Shard Database와 동시성 제어 메커니즘을 구현했습니다.
시스템 플로우
배경
게임 런처 출시와 함께 Facebook, Google, Apple 소셜 로그인을 동시에 지원해야 했습니다. 각 플랫폼마다 OAuth 프로토콜은 동일하지만 API 엔드포인트, 토큰 검증 방식, 사용자 정보 조회 포맷이 모두 달랐습니다.
해결
Delegate 패턴으로 플랫폼별 OAuth 로직을 분리하고, 런타임에 동적으로 선택되도록 구현했습니다.
기술 구현