分布式服务器:网络连接

时间:2013-01-05 15:57:20

标签: c# networking load-balancing distributed-computing

我正在开发一个应该在具有不同任务/角色的多台机器上运行的应用程序,但是同步(某种负载平衡(游戏)服务器,其中一些机器处理不同的世界,一台机器处理聊天和库存,其他机器处理传入的网络连接......)。

在开始时,应用程序实例应该在彼此之间创建TCP连接。但是我如何在C#中实现它?

1 个答案:

答案 0 :(得分:1)

首先,您需要可以联系正确游戏服务器的负载平衡服务器。这可能是架构中最薄弱的一点。您可以使用DNS循环和多个负载均衡器来限制风险。

如果所有服务器都放在同一网络上,您可以使用UDP广播来允许负载均衡器自动发现所有游戏服务器。数据包将类似“嘿,我是一个库存服务器,连接到我”,然后负载平衡服务器将创建一个TCP连接,该连接仅用于监控游戏服务器(CPU使用率等,以确保服务器没有太多的工作)。