单一世界架构初探之终端分布

前端之家收集整理的这篇文章主要介绍了单一世界架构初探之终端分布前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在单一世界中,分布了众多的终端,如果没有利用终端计算能力,实在是浪费巨大的资源。有些人在探讨P2P模式,但我认为P2P仍然不是最好的利用方式。我们在前面曾经探讨过,在单一世界中,网络延时以及玩家众多是很致命的影响因素,如果P2P的话,是很难保证客户端之间的传输速度的,那么在高实时的游戏中,玩家体验就比较差了。

一般说来,C和S之间的传输数据是不对等的,C传输的数据量要远少于S,不过S的计算能力要大于C。我们在保证C向S发出的紧急数据情况下,完全可以压榨C的计算能力,让他完成更多的计算的。

我们在可预测性、计算迁移两篇文章,以及网络延时的综合考虑,我认为,可以将预测性的计算迁移到客户端,然后将结果传输回服务端,这有什么好处呢?首先,如果一个预测性的计算是在1秒之后发生,那么这个计算结果将被1秒之后用到,将这个计算结果发回服务端,算上网络延时和计算时间,完全是可以的。

一般来说,客户端都是击键动作,数据量很少,而实时性很高。我们将C到S的数据进行分类,那么利用计算迁移得到的结果完全可以将优先级别调低。我们在上一篇讨论了可预测性,除了解决网络延时的问题,还为终端分布的探讨埋下伏笔。

网络上有些人探讨P2P在网游中的应用,我感觉有个致命的弱点无法解决,就是大量客户端在同一区域中的网游,网络延时和大量客户端需要多播数据是P2P无法胜任的。而将大量客户端关联到中央集群却不是这样,他的网络延时可以控制在很低范围内,而且中央集群的强大计算力,能够完整将所有的客户端整合在一起。终端主要负责哪些对网络延时不是那么敏感的计算任务。

在计算迁移中,论证了那些计算与计算环境无关,那么就可以将这些计算分布到各个终端。由于每个终端分到的计算任务是无法被预测,因此安全性要求就要低得多。客户端即使要修改数据,也是不可预测的。

P2P之间的网络流量可以利用的,不过我们知道每个终端之间的带宽是有限,建立连接连接需要花费一定的时间,而且网络延时是不可预测的,管理难度也不小。因此,我认为与其将这些带宽浪费在不稳定的事情上,还不如全力利用这些带宽和服务器打交道。

原文链接:https://www.f2er.com/javaschema/287794.html

猜你在找的设计模式相关文章