ProudNet 서버

고성능 서버와 멀티코어 활용

  • 멀티코어를 최대한 활용하는 스레드 풀(Thread Pool) 구조를 사용하여 동시에 발생하는 다양한 이벤트를 병렬로 처리합니다.

  • 스레드 풀은 내부 네트워크와 사용자 콜백 처리용으로 나뉘어 있어, 사용자 실수로 인한 네트워크 병목 현상을 방지할 수 있습니다.

  • 원하는 경우, 하나의 스레드 풀을 공통으로 사용하거나 스레드 풀을 전혀 사용하지 않는 등 유연한 커스터마이징이 가능합니다.

효율적인 I/O 전략

  • 내부 계산보다 훨씬 느린 I/O 작업은 보다 신중하고 스마트하게 수행해야 합니다.

  • 멀티캐스트 시 서버가 개별적으로 데이터를 전송하는 대신 P2P 정보를 사용하여 라우팅하도록 선택할 수 있습니다.

  • 게이머의 위치 정보와 같은 데이터는 최신 값만 유효하므로, 전송 큐에서 이전 데이터를 무시하고 최신 데이터만 전송하도록 구성할 수 있습니다. ProudNet의 Unique ID 기능을 활성화하면 메시지 전송 시 자동으로 최신 데이터만 처리합니다.

  • 서버 OS에서 TCP 및 UDP 패킷 처리를 위한 커널-유저 모드 전환은 비용이 높은 작업으로, ProudNet은 이를 최소화하여 서버 성능을 극대화합니다.

스레드 풀 모드 선택

  • 게임 로직이 오래 실행될 경우, 클라이언트 연결 문제가 발생할 수 있습니다. 이는 게임 로직 설계 문제일 가능성이 높습니다. ProudNet은 사용자 루틴과 네트워크 I/O 루틴을 별도의 스레드 풀에서 실행하여 이러한 문제를 방지할 수 있습니다.

분산 서버

많은 사용자를 처리하기 위해 단일 서버 머신만으로는 충분하지 않습니다. ProudNet은 서버 간 통신 모듈을 제공하여 멀티코어를 활용하는 멀티스레딩 기술로 분산 서버 환경을 지원합니다.

Last updated