《海贼时代》开发经验分享

 

一、游戏简介

《海贼时代》(Pirate Age)是Dreamoe工作室推出的一款中文休闲移动网络游戏,包含了装备、技能、解谜、对战等各式主流游戏该有的要素,是一款不可多得的佳作。目前将在Google官方Play商店、木蚂蚁市场等电子市场可以下载到。(官方blog:http://blog.dreamoe.com/

但优秀的游戏都离不开技术的支撑,我基于先进的SAE平台使得用很小的投入获得了极大的收益,为产品在技术方面提供了强有力的竞争力。

 

二、技术架构

 

从上图可以看出,这是一个非常典型的大型网站架构,只是访问的终端换成了手机。但是这个系统因为建立在SAE平台上,就轻易的实现了。由于本游戏并非一个实时在线的即时游戏,资源文件则直接在apk安装包中已经放到手机终端上了,所以可以采用HTTP协议并使用SAE平台。

Nginx:这个对应用而言是透明的,只是起到请求分发的作用,熟悉这个东西的人都知道它性能的强大,也为支持高并发提供有力保障。

Tomcat集群:这是业务逻辑处理的地方,这个集群可以在SAE管理页面上方便的调整数量范围,实际使用时还是动态调整数量的。最多支持的是16个Tomcat,而且所在的服务器运算能力也非常出众,所以性能完全不是问题。

KVDB集群:了解nosql的人都知道key-value这种DB性能的强大,一些频繁读写的数据用它能得到极大的性能提升。我的应用只是部分采用了它,原因就是在于它不支持事务、另外还不方便备份。

主从数据库:事务和关系型的特性是让我无法离开他的根本原因,另外有phpadmin做后台控制也非常的方便,现成的读写分离也让我省了不少事。关键的数据自然都是存放在这里。

Cron:定时任务过HTTP协议把请求发给服务器进行逻辑处理。由于后端是Tomcat集群,

DeferredJob:生产环境的应用必须做的事情就是数据的定时备份,之前都是在linux下写个脚本再用cron去调用,这里给了一个可替代的方法。

 

三、技术优势

本系统的主要优势就是在后端的平台基础上,这为我们的应用提供了强有力的竞争力。中小开发者而言,这样的架构比较复杂,需要有一定的技术水平才能搭建起来,还要用到不少服务器,而且花费的时间成本会比较大。但基于SAE平台在这些方面给我们省了很多的事情。如果你有运维经验,你肯定还知道这为你后来的运维省了多少时间和精力,作为研发人员我是非常不喜欢把精力过多花费在运维上。

具体来说,有以下几个比较显著的优势:

高可用:关键的服务都有冗余,这可以极大的保证服务的稳定性,再配合上定时备份,基本可以算是比较健全的系统。而且如果服务器出问题了,也有专人去管,对我们来说这个过程是透明,太省心了。

高扩展性:前面有提到Tomcat的动态数量扩展,如果对任何的默认限制有不满的地方,转成会员客户都可以调整,就把一个难题转变成了仅仅是钱的问题。

高性能:这个架构可以说是大规模集群了,配合上极佳的横向扩展性,性能确实可以达到很高的水准,至少我的应用完全不担心这个问题。

高安全性:这个确实是一个非常显著的有点,自己管理服务器相当头疼的就是安全,在SAE的平台上我是觉得有底气多了,而且自己啥都不用做。

低成本:按使用量收费确实可以极大的降低开发成本,我注册的时候送的2500个豆豆,现在还剩2100多,相当于花费了4块钱人民币。实际使用的时候费用在所有云平台里面应该也是最低的,只要应用对资源消耗不是太大,估计比自己买服务器、托管服务器、招人维护等还是要便宜些的。

但是用SAE有一个不得不面对的缺点——自由度低,在架构层面上只能是有什么用什么,想要优化就比较难了。但是与以上优点相比而言,结合自身实际情况其实并不难得出结论。

 

四、总结

对于中小开发者而言,我们要集中精力做好应用,提升产品价值,技术只是一种手段,所以如果能借助平台降低开发成本,也能省心、省事、省时间,这样就能更好的将精力回归到集中提升产品价值的这个点上。

希望能有更多的中小开发者能利用SAE平台把自己的产品做的更好,同时也希望SAE能不断改进提供更多更优质的功能和服务,如果哪天SAE应用能和新浪微博结合一下就更好了。

 

游戏下载地址:http://www.mumayi.com/android-202315.html

你可能感兴趣的:(android,游戏开发)