서버 프로그래밍

라인 레인저스(Line Rangers) 서버 구조 소개

하늘흐늘 2017. 2. 26. 12:12
반응형

 

라인 레인저스는 라인쪽에서 만든 위와 같은 형식의 게임입니다.

조금 된 글이기는 하지만 라인 레인저스에 대한 기본 서버 구조에 대해서 잘 설명한 글이 있어서 소개할까 합니다.

 

모바일 서버는 온라인 게임보다 사용 기술의 폭이 넓어서 워낙 다양한 기술을 사용하기에 어떤 것이 정석이라고 말하기는 힘들지만 기본 골격 잡을 때 참고 자료로는 훌륭한 듯 합니다.

라인 레인저스 서버와 같은 경우는 MySQL, Redis (Cache) 그리고 Tomcat을 사용한 것으로 보아 Java쪽 Http 관련 기술을 사용한 듯 보입니다.

[LINE Rangers 신입사원의 서버 분석기] - 서버 구조 및 인프라 환경

LINE Rangers 게임 클라이언트/서버 아키텍쳐

 

세미나 PPT 뒤에는 서버 관련 내용이 있는데 대부분 위 내용과 겹치지만 실제 코드에 대한 스크린샷도 보여주고 있습니다.

http://www.slideshare.net/deview/4d2-line-rangers

 

이 외에 이 게임에 대한 DB Sharding(이건 NoSQL쪽 분산 용어입니다.)은 Sharding에 대한 정석을 잘 보여주고 있어서 참고하면 좋을 듯 합니다. 

[LINE Rangers 신입사원의 서버 분석기] - DB Sharding

 

근데 다시 보니 NoSQL이 아닌 RDB인 MySQL을 이용하여 Sharding을 구현한 듯 보입니다. 이건 개념만 가져오고 자체적으로 RDB 분산을 구현한 듯 보입니다. 이런 구조를 갖다보니 DB간 복제를 위한 Multi-Master Replication과 분산 처리에 대한 동기화, 클러스터링 또는 동기화를 위하여 Apache ZooKeeper를 사용하고 있다는 것도 흥미롭습니다. 

 

마지막으로 특이점은 굉장히 많은 NHN 공통 기술을 사용했다는 점입니다. 

 

 

 

 

 

 

반응형