Internode communication

From CatchChallenger wiki
Jump to: navigation, search


Same as client <-> server communication, it's TCP, the overhead of TCP is minimized by in order packet receive, crontol, which allow somes optimizations.

Node organisation

  • Parallel: force high connection number, and lot of bandwidth
  • Tree: The final/bottom node communicate only to one or few top lever server, no routing logic, more resistant to DDOS
  • P2P: Will be used for the version 3, to replace the master server to P2P node for the core. Continue to keep the bottom node isolated, the core have their own logic, allow hot plug, high scalability/availability and logic.

Unix socket

The logic is have master or core nodes isolated then game/login, then unix socket is useless on this part. Most of accessible hardware in 2015 is little endian, the bit swap with correct instruction is very fast for big endian and do very minor slow down.

But couple of core node + game server and maybe login server and each hardware for hardware with 3+ Core to prevent context switching and loose performance. The communication of single game/login server and core node or master is too low take advantage of unix socket performance.

Multiple core node is useless too because the advantage of multiple core node is high availability, decentralized and scalability of resources like bandwidth, memory. It will be better to use real multi-threading in this case.