ProudNet 서버
고성능 서버와 멀티코어 활용
멀티코어를 최대한 활용하는 스레드 풀(Thread Pool) 구조를 사용하여 동시에 발생하는 다양한 이벤트를 병렬로 처리합니다.
스레드 풀은 내부 네트워크와 사용자 콜백 처리용으로 나뉘어 있어, 사용자 실수로 인한 네트워크 병목 현상을 방지할 수 있습니다.
원하는 경우, 하나의 스레드 풀을 공통으로 사용하거나 스레드 풀을 전혀 사용하지 않는 등 유연한 커스터마이징이 가능합니다.
효율적인 I/O 전략
내부 계산보다 훨씬 느린 I/O 작업은 보다 신중하고 스마트하게 수행해야 합니다.
멀티캐스트 시 서버가 개별적으로 데이터를 전송하는 대신 P2P 정보를 사용하여 라우팅하도록 선택할 수 있습니다.
게이머의 위치 정보와 같은 데이터는 최신 값만 유효하므로, 전송 큐에서 이전 데이터를 무시하고 최신 데이터만 전송하도록 구성할 수 있습니다. ProudNet의 Unique ID 기능을 활성화하면 메시지 전송 시 자동으로 최신 데이터만 처리합니다.
서버 OS에서 TCP 및 UDP 패킷 처리를 위한 커널-유저 모드 전환은 비용이 높은 작업으로, ProudNet은 이를 최소화하여 서버 성능을 극대화합니다.
스레드 풀 모드 선택
게임 로직이 오래 실행될 경우, 클라이언트 연결 문제가 발생할 수 있습니다. 이는 게임 로직 설계 문제일 가능성이 높습니다. ProudNet은 사용자 루틴과 네트워크 I/O 루틴을 별도의 스레드 풀에서 실행하여 이러한 문제를 방지할 수 있습니다.
분산 서버
많은 사용자를 처리하기 위해 단일 서버 머신만으로는 충분하지 않습니다. ProudNet은 서버 간 통신 모듈을 제공하여 멀티코어를 활용하는 멀티스레딩 기술로 분산 서버 환경을 지원합니다.
Last updated