대비

nayoon·2022년 1월 17일
0

Game Log

심플하게 보관하는 게 가장 효과적이다.

사용자의 행동을 모두 JSON으로 파일에 기록해서 아카이빙
심플하기 때문에 소실될 가능성도 최소
나중에 여력이 될 때 Hadoop 등을 구성해서 분석해도 충분하다.

쿠키런의 경우 크리스탈 사용내역만 MySQL에 보관하고 있다.

로그 분석

실시간 로그 분석: ElasticSearch, Logstash, Kibana

서비스 초기에 적용할 필요는 없으나 정말 유용한 시스템
어뷰저 차단, C/S 응대, 간단한 데이터 분석 등에 활용

일괄 로그 분석: Hadoop, Pig, Hive
출시 이후부터의 시계열 분석이나 대용량 분석을 위해서 필수적
일단 시스템과 ETL 구축이 완료되면 정말 다양한 분석 가능

로그 분석은 흥행 이후에 구축하는 게 가장 효율적

안정적인 서버의 최소 요건

충분한 테스트가 구현된, 형상관리가 되고 있는 품질 높은 빌드를 확보
수평적 확장이 손쉬운 서버 아키텍처
서버 형상관리가 구현되어 서버 자동 설정, 자동 확장 가능
서버의 장애/성능 상황 모니터링 구축
일일 게임로그를 JSON 형태로 최대한 단순한 방법으로 보관

레이턴시 병목 해결

nginx 활용, keep-alive를 통해 최대 3분에서 필요 시 10분까지도 통신을 지속할 수 있다.

http1.1부터 keep-alive 옵션이 포함되어있다.

Connection: keep-alive
Keep-alive: timeout=300

보안 문제를 위해 https는 꼭 사용해야 한다.

용어

throughput - 처리율

통신에서 네트워크 상의 어떤 노드나 터미널로부터 또 다른 터미널로 전달되는 단위 시간당 디지털 데이터 전송으로 처리하는 양을 말한다.

단위 시간 당 처리량, 한꺼번에 얼마나 많은 일을 해낼 수 있는가.

latency - 지연 시간

데이터를 요청해서 나올 때까지 걸리는 대기 시간

응답하는 데 걸리는 시간

컴퓨터 성능에 있어서 throughput과 latency 모두 중요하다.

참고

쿠키런 1년, 서버개발 분투기
쓰루풋과 레이턴시, 그리고 새로운 인텔 CPU
KGC 2016: HTTPS 로 모바일 게임 서버 구축한다는 것 - Korea Games Conference

profile
뚜벅뚜벅 열심히 공부하는 개발자

1개의 댓글

comment-user-thumbnail
2022년 1월 23일

좋은글 감사합니다😊

답글 달기