摘要:云函數是萬金油為實現用戶游戲數據存儲和每日任務分發,我們最先用了存儲服務和云引擎。不過我們并沒有用提供的來直接調用存儲服務,而是選擇用調用云引擎里面的云函數,然后通過云函數調用存儲服務來實現相應的邏輯。
【 玩轉 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 吧。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/90175.html
摘要:國內有二十多個手游網媒,必須發新聞保證曝光度。相對而言,這部分的成本比刷榜便宜多了,但是必須有專人跟進協同,比較費神。最后恭祝各位刷榜愉快,發財事小,保重身體事大,真心的。 【編者按】:APP刷榜在業內已經不是什么秘密了!為什么那么多公司和應用都熱衷于刷榜?在業內甚至有流傳最好的渠道就是刷榜的提法,這句話究竟該如何理解?編者任職于成都無敵勇士科技公司,從事海外APP推廣接近3年時間,就...
摘要:自年月上線至今,夢幻模擬戰手游始終保持在游戲暢銷榜前的位置。夢幻模擬戰的發行方紫龍游戲,對此類風險有著非常超前的認知,在產品正式上線前,就與的手游安全團隊進行對接。 作者:WeTest小編商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。原文鏈接:https://wetest.qq.com/lab/view/429.html WeTest 導讀 漏洞和外掛一直是危害游戲的罪...
摘要:市場分析在中國上線的游戲的機型適配難度有多大根據工信部數據,年全年的上市智能手機中,有款采用操作系統,出貨量億部。單個碎片面積越大表明其單品占有率越高,比如三星和小米的,分別在該視圖上占據面積超過。 市場分析 在中國上線的Android游戲的機型適配難度有多大?根據工信部數據,2014年全年的上市智能手機中,有1604款采用Android操作系統,出貨量3.49億部。這也就意味著201...
閱讀 2204·2021-10-13 09:39
閱讀 3408·2021-09-30 09:52
閱讀 800·2021-09-26 09:55
閱讀 2774·2019-08-30 13:19
閱讀 1888·2019-08-26 10:42
閱讀 3185·2019-08-26 10:17
閱讀 543·2019-08-23 14:52
閱讀 3631·2019-08-23 14:39