本文转载自公众号-云就该这么玩,微软官方的地址链接: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跨平台或扫描二维码关注