[Back-End] Roblox Statistics (주식회사디피앤스튜디오)


진행 동기

로블록스에서 자체적으로 제공하는 통계 기능은 게임 내부의 공간에 대한 통계가 아닌 게임 자체의 통계만을 제공하기 때문에 여러 챕터로 나눠진 게임에 대해서는 통계를 볼 수 없기 때문에 게임 내 여러 공간들에 대한 통계 데이터를 직접 수집하고 활용하기 위해 프로젝트를 진행하게 되었습니다.

배포 환경

EC2(nodeJS, express), RDS(MySQL)

디렉토리 구조와 코드 흐름

루트에 index.js를 두고 모든 routing을 담당, 요청이 들어오면 해당하는 콜백 함수는 Route 폴더 내 roblox-statistics.js 파일로부터 호출하여 CRUD 작업을 수행합니다.

User & Data Flow

Roblox Statistics.png

DB

https://docs.google.com/spreadsheets/d/1vfxzFOuc3Thzo_3vxEJjaZPkqMA6uwHlqvnB3UadeSU/edit?usp=sharing (bit.ly/db-game-statistics)

문제 해결 경험

초기 mysql npm 패키지로 RDS와 통신, 이후 서버 자원 효율화를 위해 mysql2로 업데이트 후 connection release() 명시. 여전히 connection이 줄어들지 않아, Prisma로 마이그레이션, 여러 connection 관련 설정 변경. EC2 NodeJS 서버의 여유 메모리 부족 인지, t2.micro → t3.medium 성능 변경하여 문제 해결.

작성한 코드

[Back-End] Roblox API (주식회사디피앤스튜디오)


진행 동기