全球运营的游戏公司,实现存储就近访问、提升访问安全和效率

本文主要是介绍全球运营的游戏公司,实现存储就近访问、提升访问安全和效率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

7dc86658571216915dab12b1e3c1c1fc.jpeg

在上一篇文章(永远在线的网游公司,如何在线替换开源存储? )中,我们介绍了 XSKY星辰天合如何协助游戏公司解决在存储系统建设中遇到的挑战,这家游戏公司需要一直在线,以便为客户提供服务。

通过星辰天合的对象存储 XEOS V6 替换其之前部署的开源存储,这家游戏公司高效平滑的获得了四大基础架构的收益:存储搭建、数据迁移、业务切换、平滑扩容。

不过,这些只是 XEOS 的基础能力,该公司使用对象存储的过程中,还进一步利用了 XEOS 的高级功能,实现了高效的业务创新。



创新一

回源CDN模式实现多地就近访问



该游戏公司的游戏业务遍布全球,在全球都有着小帅和小美那样的游戏玩家,因此该公司需要在多个国家和地区部署存储系统,以保证所有游戏玩家能够就近访问数据,获得良好的游戏体验。

为了实现多地就近访问,该游戏公司在全球部署了三个 XEOS V6 集群,分别位于美国、新加坡和中国,以服务游戏运营的不同区域的不同游戏玩家。

每个区域的游戏玩家上传的数据都会就近写入到该区域内的存储,而当不同区域之间的玩家在游戏内进行交互时,就需要进行跨地域的数据访问。

61d44f92898b626ddedb5ee0e95a5c55.jpeg

771522b9b06deca5fb3624a890593181.jpeg

如何保证跨区域读取性能


该公司利用了 XEOS 提供的回源 CDN 模式,可以很好的解决了问题。

d90e3ecd64386ebe0ff6a3fa614999c7.jpeg

  1. 当美国的玩家需要访问中国国内数据时,位于美国的 XEOS 集群就自动使用代理读方式,从位于中国的集群获取数据并返回给用户;

  2. 对于代理访问的数据,位于美国的 XEOS 集群会将其存储在指定的缓存空间中,对于后续的美国用户访问可以本地返回快速响应;

  3. XEOS 还支持进行缓存生命周期配置,将缓存中的冷数据定期清理,减少空间占用。

通过 XEOS 的 CDN 模式,该游戏公司提供了高性能的全球就近上传和下载能力,在提高用户体验的同时,可以大幅减轻源站的压力,提高源站的性能。



创新二

全球数据主动分发



作为资深玩家,小帅和小美希望在游戏中能够始终经历新鲜的场景和故事,这就需要游戏公司不断地地进行升级。

这也正是该公司的重要能力之一。

该游戏公司的某款主打游戏,最初上线的时候,已经以每 42 天一个版本的稳定更新频率,打破了国内游戏圈的一些规则;在 3.0 版本开放之后,该公司更是宣布将更新频率缩短为五周,展现出了其异常强大的游戏工业实力。

这就意味着该游戏公司可以通过运用其强大的品控和运营能力,不断向全世界输出优质内容。

由于该游戏公司总部在中国,如何确保新版本上线时,全球玩家都能够像中国的玩家一样,实现高性能的本地访问?

这就需要游戏公司实现全球数据主动分发的业务。

而这个,可以基于上述已部署完成的 XEOS 架构来实现。

642b2d6ac1fada215877b333934130a6.jpeg

该公司利用 XEOS 实现数据的多地就近访问


如上图所示,在游戏新版本发布或者有批量素材需要全球访问时,利用 XOCP (XSKY Open Content Platform,XSKY 开放内容处理平台)提供的文件清单主动流动分发的能力,该游戏公司可以将需要提前进行全球分发的文件清单提交到 XOCP,由 XOCP 调度 XEOS 在新版本上线前先将数据提前分发到美国和新加坡集群。

通过这种方式,快速完成批量文件的全球主动分发,保障新版本上线时全球用户都能实现高性能的本地访问。



创新三

访问安全



对于玩家遍布全球各地的游戏公司来说,各国的法规和用户数据保护需求非常强烈。

该游戏公司非常重视数据安全,因此在存储系统建设中也采取了多项措施来保证数据的安全。

首先,由于 XEOS 同时承接内外网的不同业务系统的访问负载,该公司利用 XEOS V6 的 Bucket policy 功能,实现了内外网访问的隔离和控制,保证了业务的安全。

其次,该公司使用了 XEOS V6 的 KMS (Key Management Service,密钥管理服务)加密功能,与其 KMS 服务对接,实现服务端加密的密钥统一分发和管理。对于写入 XEOS 的每一个文件均生成唯一密钥进行加密后落盘,保障数据的合规存储。

第三,该公司启用了 XEOS V6 的桶访问日志功能,记录所有关键桶的访问日志,并统一写入审计桶。通过桶访问日志,可以用于分析和追溯异常数据访问行为,及时发现系统漏洞和风险。

最后,为了进一步提高访问的安全和控制能力,基于 XEOS V6 的 CORS (Cross-Origin Resource Sharing 跨源资源共享)功能,该公司增加了 Access-Control-Allow-Private-Network 限制,实现了内外网访问隔离和限制。



总结



通过使用 XEOS V6,该游戏公司解决了多地就近访问、访问安全、访问效率提升等挑战,为其游戏业务的全球化发展提供了强有力的支持,也为该公司的全球游戏玩家提供了更佳的游戏体验。

很多企业在发展壮大之后,有着在多地域部署数据中心,以便为当地客户就近提供服务的需求。然而,如何才能够让多个数据中心之间提升数据访问效率,确保用户体验,则成为了一项颇具难度的挑战

借助星辰天合的对象存储 XEOS V6 的相关高级功能,企业能够像文中所提及的这家游戏公司一样,实现更好的业务创新和更卓越的客户服务。

这篇关于全球运营的游戏公司,实现存储就近访问、提升访问安全和效率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/312022

相关文章

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

安卓链接正常显示,ios#符被转义%23导致链接访问404

原因分析: url中含有特殊字符 中文未编码 都有可能导致URL转换失败,所以需要对url编码处理  如下: guard let allowUrl = webUrl.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) else {return} 后面发现当url中有#号时,会被误伤转义为%23,导致链接无法访问

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount