106 lines
5.5 KiB
Plaintext
106 lines
5.5 KiB
Plaintext
* 개요
|
|
- 서버 관제 시스템은 각각의 서버 각종 상태들을 조회하고, 서버 프로세스를 실행, 종료를 제어하고, 서버 스케일 축소, 확장을 제어하며, 일부 서버 설정 정보를 전달 한다.
|
|
- 서버 관제 시스템 분산 구조를 설계 한다.
|
|
- 주요 관제 기능을 정의 한다.
|
|
|
|
|
|
* 주요 기능
|
|
1. 관제 기능 로그 남기기
|
|
1.1. 관제 기능의 주요 행위는 관제 서버에 로그로 남긴다.
|
|
- 개발 로그는 파일로, 관제 기능 로그는 SQLLite 에 작성 한다.
|
|
|
|
2. 서버 프로세스 제어 하기
|
|
- 서버 그룹 단위를 지정시 해당 그룹의 프로세스들만 제어 한다.
|
|
2.1. 시작
|
|
2.2. 재시작
|
|
2.3. 정지
|
|
2.4. 강제종료
|
|
|
|
3. 서버 정보 보기
|
|
3.1. 공통 서버 정보
|
|
- 전체 서버 운영 갯수, 전체동접자수, 런닝타임 기준 최대 전체동접자수, 1초 이상 응답 지연 서버 갯수, 1초 이상 응답 지연 서버비율
|
|
3.2. 서버별 공통 기본 정보
|
|
- 프로세스 ID, 런닝타임, 현재 클라이언트 연결 갯수, 비정상종료 횟수, 자동 재시작 횟수, CPU 사용률(%), 메모리 사용량(G/M/Bytes),사용률(%), 메모리 미사용량(MB...),미사용률(%), 자동시작상태(bool)
|
|
3.3. 서버별 공통 상세 정보
|
|
- 런닝타임 기준 최대 클라이언트 연결 갯수, 런닝타임 기준 최대 CPU 사용률(%), 런닝타임 기준 최대 메모리 사용량(G/M/Bytes),사용률(%), 런닝타임 기준 최저 메모리 미사용량(G/M/Bytes),미사용률(%)
|
|
3.4. 서버별 컨텐츠 정보
|
|
- LoginServer : 1분 동안 최대 로그인 처리 횟수, DB 최대 응답 지연 시간, 1초 이상 응답 지연 횟수
|
|
- GameServer : 1분 동안 최대 로그인 처리 횟수, DB 최대 응답 지연 시간, 1초 이상 응답 지연 횟수,
|
|
현재 Room 갯수, 런닝타임 기준 최대 Room 갯수
|
|
- ChatServer : 1분 동안 최대 로그인 처리 횟수, 1분 동안 최대 채팅 메시지 처리 횟수
|
|
|
|
4. 리소스 패치 기능
|
|
4.1. 환경 설정 파일 패치
|
|
- 서버 컨피그 파일을 패치 한다.
|
|
|
|
5. 서버 스케일 확장 및 축소 하기
|
|
5.1. 예비 서버용 EC2 Instance 관리 하기
|
|
- 예비 서버 운영 비율 설정 기능 추가
|
|
|
|
5.2. 서버 스케일 확장 하기
|
|
- 스케일 정책이 적용될 해당 서버들이 확장 정책 조건에 충족될 경우 서버를 추가 한다.
|
|
- 확장 정책의 조건 : 접속자수의 비율 70% 이하 서버가 없는 경우, CPU 점유율이 모두 60% 이상인 경우
|
|
- 예비 서버(AWS EC2 Instance)가 있을 경우 주요 설정들을 재설정 시키고 Instance 를 활성화하는 기능을 추가 한다.
|
|
|
|
5.3. 서버 스케일 축소 하기
|
|
- 스케일 정책이 적용될 해당 서버들이 축송 정책 조건에 충족될 경우 축소할 서버의 유저 접속을 차단 시키고, 유저들을 접속자가 적은 서버로 접속을 유도 한다.
|
|
- 해당 서버의 접속자수가 0이 된다면 서버를 예비 서버로 전환 한다.
|
|
- 예비 서버 운영 비율을 초과할 경우 가장 오래된 예비 서버를 제거 한다.
|
|
|
|
6. 서버 프로그램 패치 하기
|
|
6.1. 배포 FTP 서버에서 다운로드 받기
|
|
- 서버 전체 패치 기능을 추가
|
|
- 서버 리소스 패치 기능을 추가
|
|
- 메타 데이터 패치 기능을 추가
|
|
- Config 파일 패치 기능을 추가
|
|
- ControlAgent 패치 기능을 추가
|
|
|
|
7. 서버 컨텐츠 제어 하기
|
|
7.1. 접속자 제어 하기
|
|
7.1.1. 서버 접속 차단 시키고, 모든 접속자를 안전하게 로그아웃 시키기 (Access Block & Graceful Kick All)
|
|
- 접속을 차단 시키기 모든 접속자를 안전하게 로그아웃 처리 시킨다.
|
|
7.1.2. 특정 서버를 접속 차단 시키기(Server Access Block)
|
|
- 특정 서버의 접속을 차단만 시킨다.
|
|
|
|
8. 구조
|
|
8.1. 서버 분산 구조 파일 참조
|
|
- URL : svn://10.10.10.9/trunk/Caliverse/Server/Doc/3. 서버구조/서버 분산 구조.pptx
|
|
|
|
|
|
* FrontEnd 주요 입력/출력
|
|
|
|
1. 계정 등록 창
|
|
- 개발팀에 요청 하여 등록 <= 추후 개발 !!!
|
|
|
|
2. 로그인 창
|
|
- EditBox(아이디/비밀번호), Button(로그인), Button(닫기) <= 추후 개발 !!!
|
|
|
|
3. 서버 관리 창
|
|
3.1. 상단 메뉴
|
|
- 버전 정보
|
|
- 설정 파일 열기
|
|
- 설정 파일 다시 읽기
|
|
- 서버 스케일 관리창 보기
|
|
- 서버 패치 하기
|
|
3.2. 공통 서버 정보
|
|
- 서버 정보 보기를 참조 한다.
|
|
3.3. 서버 목록
|
|
- 서버간의 그룹관계 or 종속관계가 있을 경우 트리 구조로 출력 한다.
|
|
- 서버를 선택할 수 있다. (팝업 메뉴 활성화)
|
|
- 팝업 메뉴 : 서버 프로세스 제어 기능 목록, 컨텐츠 정보, 컨텐츠 제어 목록 출력
|
|
- 서버 목록에서 서버 선택시 선택된 서버 정보와 하위 서버 정보 목록만 화면 출력 된다.
|
|
3.4. 서버별 공통 정보 및 상세 정보 목록
|
|
- 서버 정보 보기를 참조 한다.
|
|
- 팝업 메뉴 : 서버 프로세스 제어 기능 목록, 컨텐츠 정보, 컨텐츠 제어 목록 출력
|
|
3.5. 서버별 컨텐츠 정보 목록
|
|
- 서버 정보 보기를 참조 한다.
|
|
3.6. 로그 출력창 (활성화/비활성화)
|
|
- 개발 로그 및 관제 로그를 출력 한다. (출력여부설정)
|
|
- 로그 포멧 정보를 참조 한다.
|
|
|
|
4. 서버 스케일 관리창
|
|
- GM Tool 참조
|
|
|
|
|
|
|
|
|