您的位置:首页 > 运维架构 > 网站架构

游戏平台网站系统架构 账号篇

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...

给主人留下些什么吧!~~

评论热议
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: