腾讯游戏使用Microsoft Service Fabric案例
本文轉載自公眾號-云就該這么玩,微軟官方的地址鏈接:https://customers.microsoft.com/en-us/story/tencent-telecommunications-azure-service-fabric-windows-server-en
根據研究公司Newzoo的報告估計,全球游戲收入在2017年將達到1080億美元以上,而僅在中國就預計將產生275億,或者說中國市場占了全球市場1/4的收入。在游戲市場最核心的平臺—PC游戲面臨兩大挑戰:移動端游戲收入在上升,而且越來越多的人認為PC端用戶將進一步減少。
云計算能力的快速增長帶動APP從傳統的客戶端應用程序模式到全新“瘦客戶端+豐富的云應用模式”的發展轉型,它可以幫助優化開發和運營的交付過程,降低運維成本,靈活應對交付和用戶新的需求。騰訊游戲希望通過微服務(microservices)技術優勢給玩家帶來最新游戲內容與全新的游戲體驗,確保PC端游戲能夠時刻保持最新的游戲內容更新。
然而,目前市面上大多數PC端游戲包均在GB級大小,每周或每兩周一次的更新過度依賴傳統的客戶端和服務器。騰訊游戲最大的挑戰是盡可能縮小PC端游戲包的大小,同時還要讓用戶有相同或更好的游戲體驗。要實現這一突破,需要解決的三個問題1,如何將安裝包大小從GBs降低到MBs。2,如何將 PC 游戲的部分客戶端功能作為服務提供交付和管理。3,如何支持面向服務的操作過程和模式。
架構創新
為了確保所有玩家有最好游戲的體驗,騰訊游戲開發了名為游戲云解決方案的創新型解決方案,使PC游戲客戶端的部分功能通過由微軟服務結構(Microsoft Service Fabric)封裝,擴展的微服務交付和運營。
微軟服務結構其實是一種架構從而封裝、部署和管理可擴展性和可靠的微服務。類似許多微軟的其他服務,如Skype業務,Power BI和Cortana等,該技術也賦予了Azure基礎設置更多的創造力。有了它,騰訊游戲可以構建基于服務器的PC游戲應用程序,這些應用程序可以在服務器集群上以非常高的密度運行。同時,騰訊游戲還可以大規模部署和管理可擴展的游戲服務,并為玩家提供無縫升級/補丁的游戲體驗。
過去,玩家第一次玩傳統的PC游戲時,玩家必須下載并安裝一個GB級別大小的新游戲客戶端。一旦內容更新可用,玩家必須再次下載并安裝它,這個過程是非常耗時的。
使用以上服務結構和架構,騰訊游戲可以成功得把一部分游戲客戶端的功能遷移到云端進而使得游戲客戶端作為一種微服務能夠更為容易的運維,更為簡便的更新。同時,玩家只用下載使用一個較小的客戶端便可以運行。
云應用程序敏捷的開發經驗
使用微軟服務結構把這些規模較大的游戲應用封裝在微服務中,游戲應用程序的邏輯部分可以在幾秒鐘內部署, 并作為服務在服務器集群中運行,同時被稱為"播放器"的游戲應用程序的其余部分仍可在客戶端上為圖像渲染和控制工作。這使得以服務為基礎的應用程序升級和補丁工作更為便捷,并為PC端游戲帶來了云應用程序的敏捷開發經驗。
現在,騰訊游戲團隊專注于創建新游戲內容,并在游戲中實現附加值功能。“瘦客戶端”模式可以使游戲開發人員從復雜的架構設計和功能開發等繁瑣的日常工作中解脫,同時降低維護這些應用程序的成本。
更重要的是,服務結構支持在許多環境(包括云和內部部署、Windows服務器或Linux)中創建群集。這使得騰訊游戲能夠將云應用程序部署到cross-regions數據中心,并將業務服務帶到游戲玩家所在的地方。因此,游戲玩家可以隨時隨地暢玩PC端游戲,并且仍然享受已更新好的游戲內容且不會有任何延遲。
微服務予力PC游戲轉型
作為一個微服務平臺, 服務結構助力開發人員和組織者能夠解決開發和管理組成微服務的云服務器應用程序過程中所面臨的重大挑戰。與傳統的客戶端-服務器模式不同, 每個服務都管理和存儲自己的狀態,并負責對代碼和服務器狀態進行擴展,以滿足彈性要求。
騰訊的游戲還可以創建、部署和維護大規模的新游戲應用程序,可以根據需求從小開始,并通過成百上千的機器擴展到較大的規模。游戲應用程序功能被單獨分到各種服務中,減少在構建應用程序時的復雜性,避免重復開發工作。
現在,玩家只需下載一個很小的安裝包就可以運行最新的游戲內容,當他們登錄到PC游戲時便可更新自動,這大大降低了新用戶的購買成本。
原文地址:http://mp.weixin.qq.com/s/38UeqLcAXPr9LZGYuQpC2w
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的腾讯游戏使用Microsoft Service Fabric案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core引入性能分析引导优化
- 下一篇: DDD理论学习系列(13)-- 模块