摘要:云函数是万金油为实现用户游戏数据存储和每日任务分发,我们最先用了存储服务和云引擎。不过我们并没有用提供的来直接调用存储服务,而是选择用调用云引擎里面的云函数,然后通过云函数调用存储服务来实现相应的逻辑。
【 玩转 LeanCloud 】开发者投稿分享:
作者:赵天泽
作为一个通过 LeanCloud 入门后端开发的小白,一年多的开发历程让我收获满满。多个项目也在 LeanCloud 可靠的服务支撑下取得了不错的发展,其中用户量最大的项目的云引擎每分钟请求量在1.2W 次左右,每日调用存储服务 API 在 300W+ 次。在此过程中,我不仅得到了 LeanCloud 各路技术大侠的指点,得以提高数据可靠性并优化了逻辑执行效率,而且 LeanCloud 的高可用性和对突发异常处理的高效也让我对运维工作和服务稳定性没有丝毫的顾虑;再加上简洁好用、响应及时的工单系统,可以这么说,我的工作由此变得美好惬意。
海外节点和高效的技术支持是 LeanCloud 最大的优势其实使用 LeanCloud 之前,我一直在做 iOS 应用和手游客户端开发,没有半点后端开发的经验,也未曾碰过 JavaScript,直到后来参与过几款网游的开发,才对游戏后端大概的架构和接口设计有所了解。接着我们的项目需要为单机游戏增加网络存档和每日任务分发功能,可我们一位后端程序员也没有,而且也不具备从头搭建和部署一套可靠的后台服务的能力,所以可行的方案就是找到一套现成的第三方服务。当时国内国外也有不少的后端服务提供商,最终敲定 LeanCloud 主要是考虑到:
成熟稳定的海外节点和配套服务。我们的游戏主要是在海外推广,虽然海外有不少专门针对游戏的后端云服务,但是实际使用下来发现它们的开发自由度并不高,达不到我们的标准。
与技术支持人员的沟通效率。大多的海外服务商只能通过邮件或者论坛沟通,效率十分低下,真要是遇到了问题迟迟不能解决就会非常麻烦。而 LeanCloud 技术支持的响应非常之快,即使最初大家只在 QQ 群里沟通还没有使用工单系统,所有回复都不拖沓,使用者当然高兴啦。
清晰详实的技术文档。LeanCloud 提供的文档相比其他服务商也更加详实,分类比较清晰,非常适合入门学习。
另外,我们还特地调研了 LeanCloud 的云引擎服务,因为其提供完整简便的后台部署途径和工具,实现线上环境的一键部署,又能让我们基于 express 任性地开发后台逻辑,所以我们确信 LeanCloud 是最最棒的选择。
REST API + 云函数是万金油为实现用户游戏数据存储和每日任务分发,我们最先用了存储服务和云引擎。不过我们并没有用 LeanCloud 提供的 SDK 来直接调用存储服务,而是选择用 LeanCloud REST API 调用云引擎里面的云函数,然后通过云函数调用存储服务来实现相应的逻辑。这样做的原因是我们的游戏主要是使用 lua + C++ 开发,LeanCloud 的 C++ SDK 没有持续维护,使用起来会有潜在风险;而如果使用 iOS 和 Android SDK,又得把需要使用的接口暴露给脚本层,这就多了一道不必要的程序。基于以往开发网游的经验,我们更倾向于按功能模块向前端提供相关的 API,让前端通过 HTTP 协议将数据 post 给服务器,服务器处理完后返回前端需要更新的那部分数据就好。
实践下来我们发现这样做的确有优势,把数据查询、处理和存储的逻辑放在后端进行,这样业务的调整可以变得非常灵活。比如在用户量起来之后,发现每日任务表会有大量的读写操作,根据 LeanCloud 技术支持的建议,我们将一些热数据放到云引擎的缓存服务 LeanCache 中使用,也就是先去缓存里面查数据,没有的话再去存储服务里面查,这样就有效地降低了查询的时间,提高了业务处理的效率,而前端代码啥都不用变。
云缓存速度快得没商量要多带带说一下云缓存 LeanCache。它实质上就是 Redis,对于改善和提升我们项目性能功不可没。当初我们需要做一个全区排行榜,正好 LeanCache 的官方 Demo 中提供了排行榜的示例代码(帮我补上了什么是原子性这一课,必须膜拜),于是我们在此基础上实现了自己的排行榜功能,并把它放在 npm 上方便大家取用「leaderboard-promise」。接着我们还陆续在云缓存中实现了热数据缓存、订单系统、token 验证系统等等功能,充分去利用 Redis 的优势来解决业务中可能引起性能瓶颈的情况。
跨时区定时推送通知我们的用户来自全球各地,有不同的时区,我们需要让所有用户在当地时间的下午 7 点收到一条通知。通过云引擎和消息推送服务,我们只需要在每个 installation 对象下新增一个用户的时区数据,然后在云引擎中设置一个每个整点触发的定时任务,当任务触发时在推送条件里面设置对应的时区信息,这样就达到了我们的目的。另外通过云引擎实现向特定用户群推送也非常方便。
实时对战玩法 500 行代码搞定最近我们的新项目希望能够尽快实现可靠的房间制实时对战玩法,以便能够快速投放到市场去验证玩法是否受到玩家欢迎。如果在用户认可之前就耗时耗力去开发一套实时对战框架显然不太明智。于是我们向 LeanCloud 求助,竟然很快地得到了一套基于实时通信模块的开发建议,这样通过云引擎搭配实时通信模块,用了不到 500 行代码就把一套房间匹配制的实时对战框架搭建完毕,后续只需要集合项目中游戏的实际玩法就可以很快部署上线了。原以为要洪荒之力,却只费了吹灰之力,幸福感那是瞬间爆棚。
技术课程直播完善我们要特别赞美一下 LeanCloud 一直坚持在做的直播课程系列。所有课程不仅涉及到了 LeanCloud 各个功能的基本使用介绍,还讲解了后端开发中常常需要去面对的问题,像如何对压力评估和优化、如何设计业务流程来保证数据的一致性、如何通过权限控制保障数据的安全。这些内容对于即使不使用 LeanCloud 服务的后端开发人员都是十分有用的。
最后,我想把 LeanCloud 推荐给两类人:想学习后端开发,但是却被复杂的云服务器采购、架设和配置吓住的同学。 LeanCloud 有非常高效的开发配套工具,可以快速在本地和云端实现需要的业务逻辑。看着自己的项目上线运转起来的成就感一定会激励你继续深入的学习,以 LeanCloud 为起点,慢慢的完善的后端开发知识体系。
另外一种就是虽然有足够的后端开发经验、但目前着手于初创项目并没有完善的运维团队支持的同学。众所周知,要建立起一套完善的运维保障体系是一件需要投入不少资源的事情,初创项目应该把更多的精力投入到实际的业务逻辑开发上面,运维这样的麻烦事儿就完全可以交给 LeanCloud 吧。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/90175.html
摘要:国内有二十多个手游网媒,必须发新闻保证曝光度。相对而言,这部分的成本比刷榜便宜多了,但是必须有专人跟进协同,比较费神。最后恭祝各位刷榜愉快,发财事小,保重身体事大,真心的。 【编者按】:APP刷榜在业内已经不是什么秘密了!为什么那么多公司和应用都热衷于刷榜?在业内甚至有流传最好的渠道就是刷榜的提法,这句话究竟该如何理解?编者任职于成都无敌勇士科技公司,从事海外APP推广接近3年时间,就...
摘要:自年月上线至今,梦幻模拟战手游始终保持在游戏畅销榜前的位置。梦幻模拟战的发行方紫龙游戏,对此类风险有着非常超前的认知,在产品正式上线前,就与的手游安全团队进行对接。 作者:WeTest小编商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处。原文链接:https://wetest.qq.com/lab/view/429.html WeTest 导读 漏洞和外挂一直是危害游戏的罪...
摘要:市场分析在中国上线的游戏的机型适配难度有多大根据工信部数据,年全年的上市智能手机中,有款采用操作系统,出货量亿部。单个碎片面积越大表明其单品占有率越高,比如三星和小米的,分别在该视图上占据面积超过。 市场分析 在中国上线的Android游戏的机型适配难度有多大?根据工信部数据,2014年全年的上市智能手机中,有1604款采用Android操作系统,出货量3.49亿部。这也就意味着201...
阅读 1958·2021-10-13 09:39
阅读 3389·2021-09-30 09:52
阅读 778·2021-09-26 09:55
阅读 2756·2019-08-30 13:19
阅读 1865·2019-08-26 10:42
阅读 3168·2019-08-26 10:17
阅读 523·2019-08-23 14:52
阅读 3610·2019-08-23 14:39