Project Detail
모바일 RPG 게임 '이런 영웅은 싫어'
이미 서비스 중이던 웹툰 IP 모바일 RPG에 합류해 운영과 리팩토링을 같이 진행했습니다. 눈에 보이는 신규 콘텐츠도 필요했지만, 그보다 먼저 서버 비용과 장애 가능성을 줄이는 일이 급했습니다.
작업 맥락
이미 서비스 중인 RPG를 덜 불안하게 만드는 일
새로 만드는 게임이 아니어서 과감하게 갈아엎기 어려웠습니다. 그래서 먼저 많이 호출되는 API와 느린 쿼리를 보고, DB 구조와 인덱스를 손본 뒤 Redis, lru-cache로 반복 조회를 줄였습니다. Unity 클라이언트 쪽 병목도 같이 확인하면서 서버와 클라이언트 중 어디서 기다리는지 계속 따라갔습니다.
맡은 일
- 운영 중이던 코드 리팩토링과 위험한 구간 정리
- 신규 콘텐츠 추가, 운영 중 들어온 이슈 대응
- Node.js, Socket.io API와 Batch 서버 작업
- Unity 클라이언트 최적화 지원과 병목 확인
- Naver Cloud Platform, CentOS 서버 관리
성능과 비용 개선
- MySQL 테이블 구조와 인덱스 재정리
- Redis와 lru-cache로 자주 보는 데이터 캐싱
- Socket.IO Redis Adapter로 실시간 서버 확장
- 리소스 사용량을 보고 서버 규모를 줄여 비용 조정
Visuals
프로젝트 이미지
기술 스택
이 작업에서 드러나는 것
- 라이브 서비스에서는 성능, 비용, 운영 리스크가 따로 움직이지 않는다는 점
- 게임 클라이언트와 백엔드 사이의 병목을 끝까지 따라가야 했던 상황
- 실시간 통신, 캐싱, DB 튜닝이 숫자로 바로 보였던 작업