将心沉下来,构建一个自己属于自己的城堡。
最近准备搞一个能承载上万人同时在线的斗地主游戏。
技术选型
客户端:Unity3D
目前有俩个选项,unity3d,cocosCreator
思考了很久,最终决定选用自己擅长的框架来搞。
服务器:go+Leaf+Redis+Mysql
Go、语言性能堪比c系列,但是语法又是高级语言,契合时代的发展
Leaf、市面上还算比较成熟的通讯框架,其功能比较单调且底层。
评估一个框架的好坏,在能够实现功能的基础上,构造越简单越好。
AK47,为何能风靡半个世纪,深受士兵们的喜爱,就是构造简单且耐操、不容易卡壳!
Redis、做为数据缓存,与mysql结合使用,减轻mysql的读写压力
同时还能利用其队列功能,做框架的通讯层
Mysql、数据落地,每局游戏结束,或者在指定的时间内,将Redis的数据存储到mysql中。
通讯:TCP+ProtoBuffer
对局游戏必须实时通讯,所以http不能用,WebSocket在通讯的时候,会做些额外的动作、每次通讯都会带一些冗余信息,加大带宽流量。比较费钱,所以最终选择TCP,省钱!