日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

Game On Serverless:SAE 助力广州小迈提升微服务研发效能

發(fā)布時間:2025/3/20 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Game On Serverless:SAE 助力广州小迈提升微服务研发效能 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

作者:洛浩

小邁于 2015 年 1 月成立,是一家致力以數(shù)字化領(lǐng)先為優(yōu)勢,實現(xiàn)業(yè)務(wù)高質(zhì)量自增長的移動互聯(lián)網(wǎng)科技公司。始終堅持以用戶價值為中心,以數(shù)據(jù)為驅(qū)動,為用戶開發(fā)豐富的工具應(yīng)用、休閑游戲、益智、運動等系列的移動應(yīng)用。累計開發(fā) 400 余款產(chǎn)品,累計用戶下載安裝量破七億。而在未來三年內(nèi),小邁以成為全球領(lǐng)先開發(fā)者增長服務(wù)平臺為愿景及使命,希望通過標(biāo)準(zhǔn)化的產(chǎn)品和服務(wù)賦能,為開發(fā)者提供全鏈路解決方案,以技術(shù)+服務(wù)全方位保駕護航,助燃產(chǎn)品持續(xù)增長,幫助工具和休閑游戲的開發(fā)者提升產(chǎn)品的成功率。

在小邁內(nèi)部,實行扁平化的管理風(fēng)格,每個業(yè)務(wù)團隊都可以獨立選擇采用更適合自己的技術(shù)棧和基礎(chǔ)架構(gòu),因此內(nèi)部出現(xiàn)了 ECS,K8s,SAE(Serverless 應(yīng)用引擎)三種不同計算平臺共存的局面,而且都在跑微服務(wù)架構(gòu),不同的計算平臺都有自己獨特的優(yōu)勢和價值,而同樣也會面臨各自的挑戰(zhàn),目前主要在使用 SAE 平臺的主要是游戲團隊。

為什么選擇 SAE

對于大部分休閑類游戲來講,首先游戲本身存在自己的生命周期,而在生命周期內(nèi),游戲本身會出現(xiàn)非常大的波峰波谷。比如,白天比晚上流量大的多,白天流量又集中在幾個時間點,而晚上 8 點是業(yè)務(wù)的最高峰,凌晨 2 點到 6 點幾乎沒有流量,但是又不能停服。另外,在游戲剛上線的時候,每次運營活動又會拉來大量的新客戶涌入,就需要后臺服務(wù)能夠快速響應(yīng)流量的變化,所以業(yè)務(wù)方就期望能有一種自動彈性伸縮的計算平臺。其次,大部分休閑類游戲都是無狀態(tài)的,還可以拆分成不同的服務(wù)模塊來提升服務(wù)性能和質(zhì)量,如聊天、紅包、背包、升級、用戶數(shù)據(jù)獲取、視頻處理、廣告投放等,因此就可以采用微服務(wù)架構(gòu)來部署。最后游戲在上線期間,也會迭代增加很多新的功能模塊,需要頻繁的發(fā)布升級。所以業(yè)務(wù)方在選型的時候,就會綜合考慮:

  • 系統(tǒng)的穩(wěn)定性和容災(zāi)能力
  • 平臺的自動彈性伸縮能力
  • 對微服務(wù)架構(gòu)的支持
  • 便捷的發(fā)布回滾能力,甚至是不停服升級
  • 這些能力,其實通過 ECS 或者 K8s 自建也都能實現(xiàn),但是會給業(yè)務(wù)團隊帶來大量的運維成本,而且很難平衡成本的投入。尤其是在彈性方面,自建彈性效率很難滿足流量的快速變化,往往還是需要冗余大量的資源。而 SAE 可以非常好的滿足以上 4 個需求。其實小邁的游戲團隊早在 SAE 公測期間,就開始關(guān)注試用 SAE 了。截止到目前,在 SAE 上累計已經(jīng)部署了 50 多個服務(wù)和應(yīng)用,涉及十幾款游戲,比如愛上猜成語、成語最強答人、我找茬賊快、答多多、歡樂找找茬、多多短視頻等,感興趣的話可以下載 APP 試玩下。

    SAE 落地實踐

    Serverless 應(yīng)用引擎 SAE 定位是容器之上的一站式應(yīng)用托管平臺,核心價值是給用戶提供全應(yīng)用生命周期管理、微服務(wù)治理、彈性免運維的 K8s 運行環(huán)境。本質(zhì)上,用戶的代碼最終還是運行在容器里,只是這個容器不用去維護管理。因此對于存量的游戲服務(wù)來講,可以零改造直接遷移部署到 SAE 上。而且 SAE 針對 JAVA 應(yīng)用,還提供了 JAR 包直接部署的模式,省去了小邁打鏡像的步驟,和原有使用 ECS 的模式非常接近,但是使用體驗上會更加簡單,大概的對比如下:

    SAE 比較核心的能力就是高可用和自動彈性,對于小邁的游戲團隊,在部署 JAR 包的時候可以勾選多可用區(qū),就能達到跨可用區(qū)的容災(zāi)。SAE 底層其實是會提供多個分布在不同可用區(qū)的 K8s 集群,承載業(yè)務(wù)的容器實例可以在多可用區(qū)自動調(diào)度。對于彈性的配置同樣也非常簡單,可以基于 CPU、內(nèi)存、QPS、RT 等指標(biāo)來進行設(shè)置,對于小邁的線上游戲,主要還是通過CPU和內(nèi)存的使用率來觸發(fā)擴縮,同時還能指定最大實例數(shù)和最小實例數(shù),非常的便捷。而且目前定時彈性和監(jiān)控指標(biāo)彈性還可以混用,那么對于有運營活動時,就可以通過兩種彈性方式共同使用的方式,來確保資源的彈性。但是這里需要注意的是監(jiān)控指標(biāo)的閾值,需要根據(jù)業(yè)務(wù)的實際情況來配置,建議上線前,通過壓測來明確。

    另外通過應(yīng)用監(jiān)控,也能非常方便的查看到服務(wù)接口的調(diào)用情況,這些能力都已經(jīng)默認集成到了 SAE 的平臺上,對業(yè)務(wù)排障很有幫助。

    最后在小邁的游戲團隊,主要采用的是 Spring Cloud 和 Dubbo 技術(shù)棧,因此對微服務(wù)治理能力的支持,也是非常必要的。目前 SAE 的控制臺上,可以直接配置微服務(wù)的健康檢查、優(yōu)雅下線腳本、配置管理、微服務(wù)的灰度發(fā)布、一鍵回滾等。但是在實際使用的過程,也踩過一些坑,比如在做服務(wù)發(fā)布的時候,健康檢查有時候會超時導(dǎo)致實例不停重啟,因為有時候服務(wù)會加載大量的數(shù)據(jù)和類庫,啟動比較耗時。加大健康檢查的超時時間可以降低出現(xiàn)概率,但是發(fā)布時間就會拉長。而且在服務(wù)剛啟動的時候,初始響應(yīng)比較慢,其實是服務(wù)還沒有完全 ready,這里就比較依賴 SAE 提供微服務(wù)優(yōu)雅上線的能力,可以確保服務(wù)的正常上線。另外對于分批發(fā)部,為了避免負載的流量突然打到新實例,這里比較推薦使用微服務(wù)流量百分比灰度能力。經(jīng)過一段時間的實踐,最后落地的業(yè)務(wù)架構(gòu)大致如下:

    小邁的游戲團隊基本只用關(guān)注業(yè)務(wù)邏輯,資源層面托管給了 SAE 平臺,極大的簡化了運維復(fù)雜度。另外為了應(yīng)對業(yè)務(wù)的快速迭代,小邁還采用 Jenkins 封裝了 SAE 的 API 接口,實現(xiàn)了 CI/CD 能力,極大加速了服務(wù)的上線速度。對比原來的彈性效率和部署效率,整體研發(fā)效能有了極大的提升,彈性速度從分鐘級縮短到了妙級,新項目上線速度從天級縮短到了分鐘級。

    總結(jié)和展望

    1、SAE 在微服務(wù)領(lǐng)域提供了 Serverless 化的運行平臺,給用戶提供了降本增效的新選擇。另外 SAE 底層采用的是托管的 K8s 集群,也給用戶做容器化轉(zhuǎn)型提供了最簡單的方式。

    2、SAE 在應(yīng)用管理和微服務(wù)治理方面的加成,使得 SAE 成為有別于容器服務(wù)的一站式應(yīng)用 PAAS 平臺,讓用戶可以專注在業(yè)務(wù)迭代。

    3、針對應(yīng)用的管理,SAE 還提供了環(huán)境“一鍵啟停”功能,比如針對開發(fā)測試環(huán)境,可以設(shè)置定時關(guān)閉和開啟,優(yōu)化非線上環(huán)境的資源占用,可以幫助小邁進一步優(yōu)化費用。

    4、針對 JAVA 應(yīng)用,SAE 提供了 DragonWell JDK 版本,可以加速 JAVA 應(yīng)用的啟動速度和線程資源的消耗,啟動速度大約可以節(jié)省 40% 的耗時。

    5、未來,SAE 還會不斷提升彈性效率、加強應(yīng)用管理層面的功能迭代,期望給用戶帶來更多的增值體驗,比如剛發(fā)布支持 PHP 的 ZIP 包部署能力,可以簡化 WEB 應(yīng)用上云的復(fù)雜度。

    對 Serverless 感興趣的同學(xué),還可以點擊??此處??查看更多案例和文章。

    總結(jié)

    以上是生活随笔為你收集整理的Game On Serverless:SAE 助力广州小迈提升微服务研发效能的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。