架构之美阅读笔记03
随着读的深入,感觉这本书有点意思了,大概是书的作者为了提升趣味性才把案例弄的都那么有意思吧。第三章就讲到了游戏。本章根本是要把Web那套搬游戏里去,不过毕竟还是试验阶段的玩意,我也没能力评价,最后结果会说明一切。
这个团队处理任务当的想法是值得大家借鉴的;可惜本文缺乏必要的架构和决定的细节,而广告性质更浓一些。无论是数据性质的,还是执行码性质的,如何将动作封装成一个一个的单位,可以传输、运行,也是我一直在考虑的问题。区别于基本的Map-Reduce,我个人认为这样的设计是分布式计算的基础。另一方面,服务器在游戏领域,就我所想,最关键的角色实际上是验证数据的可靠性,防止作弊。(其次是提供中转节点,保证所有人的响应不至于离平均响应时间差距太大,影响公平性和其它表现)在这个方面,难道真的没有更P2P的解决办法吗?这是我阅读这一章的时候一直存在的一个疑问。直觉上,我认为不是没有解决之道,关键在于三方面:用于验证的数据量足够小。如何选择仲裁者。决定性因素:还是性价比。第三点来自于,服务器节点是必定不能缺的,因为服务器还要承载关于当前世界状态的所有信息。在这样一个前提下,优化服务器端收集信息的频率和其它计算量,是不是真的有必要呢?这需要样本分析了。不过我不赞成作者的先持久化,再分配的方案。取而代之的,两者应该是并行的。甚至可以降低持久化的频率。我觉得作者对现存架构的攻击不符合实际情况。崩溃是有的,但概率极低、更不是非得损失几个小时的数据。所以这中间可以找到一个方案(甚至不是折中),去避免数据损失、提高分布的灵活性,但又避免无谓的工作。另一方面,作者的分析和结论实际上是淡化了游戏数据的临时性,这同样也是一个关键的前提条件。
当然这些都是一些观点,不代表什么立场,剩下的章节后续再说。