0

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

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

4

1 回答 1

1

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

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

于 2013-01-10T09:30:18.020 回答