게임회사에서 점검 관리를 개발하고 운영했던 관련 내용을 기록차 작성한다.

퍼블리싱 모든 싸이트를 중앙에서 통제할 수 있는 게임 점검이었다. 채널링 게임에 대한 통제를 하기는 쉽지 않았다. 이를 위해서는 점검 어드민에서 API 통신을 통해 진행할 수 있다. (퍼블리싱 게임은 내부에서 서버를 구축하고 통제할 수 있지만, 채널링 게임은 서버가 모두 외부에 있으며 내부 통제가 되지 않는 형태라서 API 통신외에는 방법이 없었던 것 같다.)



점검은 보통 3가지로 나뉜다.

- 정기점검, 임시점검, 긴급점검


* 정기점검 

매 주 또는 매 달 DB 작업 및 게임 패치 할 때 사용한다. 퍼블리싱 사이트에서 관리하는 중앙 DB의 테이블 변경 작업 때문에 새벽에 진행한다. 일반적으로 6시간 정도 이상 작업 진행시 시행한다. 

나는 기술적으로 Apache Http나 Nginx 설정 변경으로 변경작업을 진행했다. 점검 내용을 저장하고 전체 서버로 스크립트를 진행하여 배포했다. 정기점검에는 혹시라도 들어온 사용자를 위해 심심하지 않도록 플래시 게임등을 보여주는 페이지를 보여주었다.


* 긴급점검

장애 발생으로 발생하는 점검이다. 퍼블리싱 중앙 DB 또는 게임 DB에 크리티컬 이슈가 발생하여 게임을 더 이상 진행하지 못하는 경우에 사용된다. 긴급 점검은 이슈(오류)로 인한 점검이기 때문에 계속 늘어날 수 있는 부분이 존재한다. 그래서 계속 시간이 연장되는 경우가 많다. 

나는 기술적으로 Apache Http나 Nginx 설정 변경으로 변경작업을 진행했다.점검 내용을 저장하고 전체 서버로 스크립트를 진행하여 배포했다. 


* 임시점검

임시점검은 기술적인 패치작업을 진행할 때 사용한다. 장애도 있을 수 있지만, 대부분은 특정 기간(1시간 내외)의 간단한 패치를 위해서 진행한다.

나는 기술적으로 애플리케이션으로 점검 내용(cache, refresh call)을 전달해서 진행했었다. zookeeper가 없던 시절이기 때문에 다시 개발한다면 zookeeper를 이용해서 개발할 것 같다. 임시점검관련 어드민을 개발하였다. 게임 이름, 관련 내용과 점검 오픈 시간, 점검 닫을 시간을 적으면 관련 게임에서 자동으로 실행(quartz)되도록 개발했다.




Posted by '김용환'
,