我有兴趣为前端网站使用 MVC3(或 4)制作网页游戏,因为这是我最喜欢使用的网页框架。举个例子,假设它是一个房地产游戏(有趣!..)
我对如何以可扩展的方式做到这一点进行了长期而艰苦的思考,并且遇到了以下小问题/困境:
1) 将游戏服务器逻辑编码到实际的 Web 服务器本身。
优点:Web服务器可以直接使用实体框架,非常适合数据操作。
问题:不可扩展 - 游戏几乎仅限于单个服务器,这可能会变得人满为患且速度缓慢。如果我将每个 Web 服务器用作单个“领域”,它可能会起作用,但如果 10 个“领域”正在运行,这可能会给数据库服务器带来大量负载。
2) 将游戏服务器逻辑编码为单独的 C++ 可执行文件,甚至可能在单独的机器上。
优势:可扩展 - 可以将多个 Web 前端服务器连接到游戏服务器,并且在任何一个 Web 服务器出现故障时都不会出现中断。
问题:网络服务器和游戏服务器之间难以通信。据推测,我需要设置套接字连接并建立某种通信协议(可能使用 XML)。此外,游戏服务器需要负责数据存储,这似乎是对 MVC 对实体框架的优雅支持的严重浪费。如果需要对另一台服务器进行套接字查询,则 MVC3 中的一些简单操作(例如检查数据库中是否已存在某些内容)将成为一项非常费力的任务。
如果有人对此类问题有任何经验,您能否说明我如何最好地解决它?