티스토리 뷰
King's Legion, Dungeon Poker 서버를 내리다.
2015년, 3월, 5월에 각각 오픈한 Dungeon Mason (a.k.a Gitul) 팀의 게임을 내렸다. 대략 5000명, 500명의 가입자가 있었으며, 지난 10개월정도는 DAU 1~2 를 꾸준히(!) 유지하고 있었다. (아무도 안쓴다는 이야기). 대략 매월 서버 비용으로 10만원정도가 나가고 있었으며,아마존의 m3.medium 한 대와 Redis 서비스하나로 운영되고 있었다.
나조차 실로 작년 6월 이후로는 접속조차하지 않았으나, 어떤 레퍼런스가 필요할지 몰라 유지하고 있었던 것을 더 이상 의미 없어 내리게 됐다.
마지막으로 들어가 소스들을 확인 한 바로는 내가 이 코드를 작성했었나 싶을 정도로 잘 기억나지 않는 것도 있었다. 그래도 기억을 위해서라도 기록을 하자면,
* Node.js 로 만들어진 Game API Server 데몬 하나, 이용자간 게임을 중계하기 위한 실시간 게임 데몬 두 개, A.I 로봇 데몬 한 개.
위 조합으로 한 개의 King's Legion을 담당하고, 같은 조합 하나를 더 두어 Dungeon Poker를 담당시켰다. 이 모든 데몬들을 m3.medium에서 운영했다.
그리고, Leader board 운영을 위해 Redis 서비스를 하나 돌렸으며, DB로는 MySQL 5.6을 사용했다. t2.micro 사이즈로 운영서버를 돌렸다.
서버는 접속자가 너~무 없는 관계로 펑펑 놀고 있었으며, 적절한 메모리가 필요했기에 m3.medium은 필요로 했었다.
* 로그인과 인벤토리 관리 Daily present는 모두 일반 웹서버로 동작하는 api 서버로 구현하였으며, 최대 4인이 하나의 방에서 실시간으로 하는 게임을 위해서는 Node.js + Websocket 기반으로 만들어졌다. 실시간 게임 데이터는 단지 메모리를 사용했을 뿐이며, 게임 서버와 api 서버간 메시지 교환은 Redis의 Publish/Subscribe 기반으로 중계하였다.
* 또한 Redis 서버는 ZRANK를 이용하여 각 리그당 주별 리더보드를 계산하기 위해 사용하였다.
* 로봇 서버는 일반 사용자가 접근하는 것과 똑같은 프로토콜로 게임서버에 Websocket으로 접속하여 운영되었으며, 동시에 30기가 운영되었다. 초반 붐업을 위해 도입하였으나, 오픈빨이후 하락하여서 내릴 여유(?)가 없었다. (로봇임이 너무 드러나는지라 아마 더 안되었으려나?)
서버들이여. 비록 그대들은 세상에 물리적으로 존재하는 가상의 서버였음에도, 우리의 사업을 오픈하는데 충분하였노라.
다시 그대들을 깨운다면, 그 때는 아마 과거에 대한 회상 때문이리라.
고이 잠에 드시기를....
- Total
- Today
- Yesterday
- BlogAPI
- 구근
- 덴드롱
- TCP/IP
- 클레로덴드럼
- macosx
- 수선화
- url
- tattertools
- 벤자민
- Linux
- MySQL
- 식물
- Tattertools plugin
- 오픈소스
- 커피
- writely
- OpenID
- 퀴즈
- VIM
- Subversion
- SVN
- perl
- 대화
- 디버깅
- 킹벤자민
- JavaScript
- SSO
- nodejs
- ssh
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |