游戏平台网站系统架构 账号篇
2016-10-08 17:09
190 查看
http://blog.csdn.net/mycwq/article/details/10055391
游戏平台,这里指的是运营多款游戏的用户平台,类似腾讯,盛大。大多情况下游戏平台有多处地方的账号登录,如网站登录,游戏登录,应用登录等,而且在这些地方使用的账号都是通用的。所以,这就要求游戏平台必须维护账号的唯一性与一致性。
通常的作法是每个游戏都有自己的账号库,各自维护自己的账号库。当网站有用户注册或修改时,就会通知所有的游戏服务器进行更新。如下图:
但是我们很快发现其中不合理的地方:账号注册或者修改时,更新要同步到多个账号库,这就提高了账号出错的风险,而且也加大了游戏平台账号注册和账号修改的压力。随着游戏的增加,这种模式的弊端越来越明显,不适合游戏平台的长远发展。
为此,我在这里提出了账号认证网关的概念。
账号认证网关,指的是对外提供账号认证服务的应用接口。本质上是一个进程,基于某种特定协议(如HTTP协议),接收账号认证请求,通过查询账号数据库验证账号是否正确,然后返回验证结果。如下图:
这样,游戏平台只要维护一个账号库,所有登录都是通过账号认证网关来实现的。
以上关于游戏账号登录的架构,对于很多的游戏平台已经满足需求了。
但这样的架构还是存在问题,玩家账号数据都共享给了所有游戏,而且平台账号安全也依赖于所有游戏安全机制的实现。所以以上的架构不适合平台的长远发展。
为此,我也细化了这个结构,如下图:
对于这个结构,游戏平台需要维护账号认证网关和登录模块,就是上图红色和蓝色部分。
这样,无论是网页,游戏端,手机游戏及应用等等,他们不需要关心登录模块的实现,只要知道如何嵌入模块调用即可。
当然,这个只是构想。实现是一步一步的事,而不是一蹴而就。一开始就把事情设想得很完美,结果反而却做不好。
拓展阅读:
游戏平台账号认证网关的实现
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(844) | 评论(0) | 转发(0) |
0
上一篇:UUID生成方法总结
下一篇:MySQL数据库设置主从同步
相关热门文章
聚类算法总结
开源爬虫软件汇总
奇异值分解(SVD) --- 几何意义...
机器学习书籍资料推荐...
大数据下的用户行为分析...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
游戏平台,这里指的是运营多款游戏的用户平台,类似腾讯,盛大。大多情况下游戏平台有多处地方的账号登录,如网站登录,游戏登录,应用登录等,而且在这些地方使用的账号都是通用的。所以,这就要求游戏平台必须维护账号的唯一性与一致性。
通常的作法是每个游戏都有自己的账号库,各自维护自己的账号库。当网站有用户注册或修改时,就会通知所有的游戏服务器进行更新。如下图:
但是我们很快发现其中不合理的地方:账号注册或者修改时,更新要同步到多个账号库,这就提高了账号出错的风险,而且也加大了游戏平台账号注册和账号修改的压力。随着游戏的增加,这种模式的弊端越来越明显,不适合游戏平台的长远发展。
为此,我在这里提出了账号认证网关的概念。
账号认证网关,指的是对外提供账号认证服务的应用接口。本质上是一个进程,基于某种特定协议(如HTTP协议),接收账号认证请求,通过查询账号数据库验证账号是否正确,然后返回验证结果。如下图:
这样,游戏平台只要维护一个账号库,所有登录都是通过账号认证网关来实现的。
以上关于游戏账号登录的架构,对于很多的游戏平台已经满足需求了。
但这样的架构还是存在问题,玩家账号数据都共享给了所有游戏,而且平台账号安全也依赖于所有游戏安全机制的实现。所以以上的架构不适合平台的长远发展。
为此,我也细化了这个结构,如下图:
对于这个结构,游戏平台需要维护账号认证网关和登录模块,就是上图红色和蓝色部分。
这样,无论是网页,游戏端,手机游戏及应用等等,他们不需要关心登录模块的实现,只要知道如何嵌入模块调用即可。
当然,这个只是构想。实现是一步一步的事,而不是一蹴而就。一开始就把事情设想得很完美,结果反而却做不好。
拓展阅读:
游戏平台账号认证网关的实现
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(844) | 评论(0) | 转发(0) |
0
上一篇:UUID生成方法总结
下一篇:MySQL数据库设置主从同步
相关热门文章
聚类算法总结
开源爬虫软件汇总
奇异值分解(SVD) --- 几何意义...
机器学习书籍资料推荐...
大数据下的用户行为分析...
linux dhcp peizhi roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议
相关文章推荐
- 游戏平台网站系统架构 账号篇
- 基于LAMP平台的网站架构(或Web系统架构)
- 基于LAMP平台的网站架构(或Web系统架构)
- 基于LAMP平台的网站架构(或Web系统架构)
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- [转]说说大型高并发高负载网站的系统架构
- 大型高并发负载网站的系统架构
- 说说大型高并发高负载网站的系统架构(转贴)
- 说说大型高并发高负载网站的系统架构 (转)
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构
- 五一技术关注:说说大型高并发高负载网站的系统架构
- FreeBSD网站平台建设全过程(一、系统安装)
- 说说大型高并发高负载网站的系统架构
- 说说大型高并发高负载网站的系统架构