2013年的时候我在上海做的一个卡牌游戏,当年卡牌游戏特殊火爆,大家一窝蜂的都去做。我们公司由于当时我去的时候架构已经搭建好了是一个弱联网的游戏。做事器采取的是php 开拓,客户端采取的是cocos2d-x 。以是我们当时的整体架构是这样的。
从上面的做事器架构我们可以知足基本的用户需求是没问题的,当用户轻微多一点的时候就可以增加PHP 的做事器 由于是web 做事器 以是很随意马虎扩展。当时当用户量访问再大的时候这个架构就可能会涌现性能瓶颈,最大的瓶颈来源于数据库。由于没有做缓存处理,所有的数据都要从数据库查询,玩家产生的数据也要落地到数据库。以是人多的时候常常便是让玩家觉得很卡,当时由于韶光问题,老板没有赞许我们修正架构,那就费钱从硬件办理,直接把mysql 做了一个集群。做了读写分离,这是最快的方案。后来由于需求须要在游戏里面加入谈天功能,以是我们决定增加一个谈天的做事器是websocket 长连接。以是我们的架构发生了变革。如下图
这样就可以在客户端保持一个长连接,我当时公司的做事器架构就这样,这也是我做过最大略的一个架构。整体比较随意马虎理解,缺陷是便是扩展不太方便。不过在当时看来已经够搪塞当时的场景了。
当前前后真个交互紧张是用json 不过,不是直接把json 发给客户端,而是用MsgPack 做了数据压缩,来减少流量。后面我会一点一点把这些年学习到的一些架构分享给大家。第一次写可能有点乱。后面写的多了可能会逐步好起来