TIL

TIL_2025-01-20

explosion149 2025. 1. 20.

게임 서버 아키텍처 조사

게임 서버 아키텍처는 다양한 방식으로 구성될 수 있으며, 
각각의 아키텍처는 특정 요구 사항과 게임의 장르에 따라 달라질 수 있습니다.

클라이언트 - 서버 아키텍처

클라이언트와 서버 간의 통신이 이루어지는 전통적인 모델입니다.
클라이언트는 게임의 사용자 인터페이스와 로직을 처리하고
서버는 게임 상태와 데이터를 관리합니다.

장점

관리가 용이하며 서버에서 모든 게임 로직을 처리하므로 클라이언트의 보안이 강화됩니다.

단점

서버에 모든 부하가 집중되어 확장성이 떨어질 수 있습니다.

피어 투 피어 (p2p) 아키텍처

모든 클라이언트가 서로 직접 통신하여 게임 상태를 공유합니다.
중앙 서버 없이 각 클라이언트가 데이터를 전송합니다.

장점

서버의 비용이 절감되며, 각 참여자가 서버 역할을 하므로 확장성이 높습니다.

단점

보안 문제가 발생할 수 있으며,
네트워크 지연이 발생할 수 있습니다.

마이크로서비스 아키텍처

게임 서버를 여러 개의 독립적인 서비스로 분리하여 
각 서비스가 특정 기능을 담당하도록 구성합니다.
예를 들어 인증 서비스, 게임 로직 서비스, 데이터 베이스 서비스 등이 있습니다.

장점

각 서비스의 독립적인 배포와 확장이 가능하며,
장애가 발생하더라도 다른 서비스에 영향을 미치지 않습니다.

단점

서비스 간의 통신과 데이터 일관성을 유지하는 데 복잡성이 증가합니다.

서버리스 아키텍처

클라우드 제공업체가 서버를 관리하고, 개발자는 기능 단위로 코드를 배포합니다.
이벤트 기반으로 작동하여 필요할 때만 리소스를 사용합니다.

장점

비용 효율적이며, 자동 확장이 가능합니다.

단점

초기 설정이 복잡할 수 있으며, 특정 벤더에 종속될 수 있습니다.

내가 게임 서버를 만든다면 게임서버 아키텍처 다이어그램

플레이어 간의 대전을 P2P형태로 만들어서 서버의 부담을 줄이고
서버에서는 신고기능을 제공하여 플레이어간의 부당한 경험을 줄일수 있도록 해결함
게임결과는 최소한의 마지막 검증로직을 통해 결과가 해당 조건을 통과하면 해당 결과를 데이터 베이스에 저장
신고가 들어온 데이터는 로그 검증로직을 통하여 비정상 적인 로그가 있는지 확인하여 해당 유저를 별도로 처리
비정상적인 유저끼리 매칭되게 하여 클린한 게임 환경을 유지

장점
서버의 부담 줄어듬

단점
유저의 경험이 좋지 못할 수 있음

'TIL' 카테고리의 다른 글

TIL_2025-01-22  (0) 2025.01.22
2025-01-21  (0) 2025.01.21
TIL_2025-01-17  (0) 2025.01.20
TIL_2025-01-16  (0) 2025.01.17
TIL_2025-01-15  (0) 2025.01.16

댓글

💲 추천 글