10.서버간 통신하기

서버가 서로 역할 분담을 해서 작동할 경우, 각 서버간 통신을 위해 서버간 연결을 구축할 필요가 있습니다. 이때, 12. P2P 그룹을 활용하면 서버간 통신을 다음과 같이 용이하게 구성할 수 있습니다.

•1개의 팜 서버(Farm server)를 둡니다. 팜 서버는 여타 모든 서버의 연결을 받습니다. 서버 컴퓨터가 존재하는 LAN 그룹을 서버 팜(server farm)이라고 부르는데, 팜 서버는 여기에서 나온 말입니다.

•여타 모든 서버는 팜 서버에 접속하는 팜 클라이언트(Farm Client)가 됩니다.

•팜 클라이언트끼리는 P2P 통신을 합니다.

이런 상황에서, 각 팜 클라이언트, 즉 서버 프로세스끼리는 어느 것이 서버고 어느 것이 클라이언트인지 관계가 없이 서로 직접 통신을 주고 받을 수 있습니다. 따라서 무작위 형태의 그물망 통신이 가능하게 되며, 서로간 자유로운 종속 관계를 구축할 수 있을 것입니다.

그림 10-1서버간 통신 위상

서버간 통신을 위해 서버간 net_main를 사용하는 것을 권장합니다.

서버간 통신에서는 통신 message_length도 고려되어야 합니다.

이러한 서버간 통신을 구현한 예제는 8. 분산로비시스템 예제 프로그램입니다.