Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1570172
  • 博文数量: 596
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 173
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 15:50
个人简介

在线笔记

文章分类

全部博文(596)

文章存档

2016年(1)

2015年(104)

2014年(228)

2013年(226)

2012年(26)

2011年(11)

分类: 大数据

2014-03-04 15:50:49

http://blog.csdn.net/mycwq/article/details/10055391

游戏平台,这里指的是运营多款游戏的用户平台,类似腾讯,盛大。大多情况下游戏平台有多处地方的账号登录,如网站登录,游戏登录,应用登录等,而且在这些地方使用的账号都是通用的。所以,这就要求游戏平台必须维护账号的唯一性与一致性。

通常的作法是每个游戏都有自己的账号库,各自维护自己的账号库。当网站有用户注册或修改时,就会通知所有的游戏服务器进行更新。如下图:

但是我们很快发现其中不合理的地方:账号注册或者修改时,更新要同步到多个账号库,这就提高了账号出错的风险,而且也加大了游戏平台账号注册和账号修改的压力。随着游戏的增加,这种模式的弊端越来越明显,不适合游戏平台的长远发展。

为此,我在这里提出了账号认证网关的概念。

账号认证网关,指的是对外提供账号认证服务的应用接口。本质上是一个进程,基于某种特定协议(如HTTP协议),接收账号认证请求,通过查询账号数据库验证账号是否正确,然后返回验证结果。如下图:

这样,游戏平台只要维护一个账号库,所有登录都是通过账号认证网关来实现的。

以上关于游戏账号登录的架构,对于很多的游戏平台已经满足需求了。

但这样的架构还是存在问题,玩家账号数据都共享给了所有游戏,而且平台账号安全也依赖于所有游戏安全机制的实现。所以以上的架构不适合平台的长远发展。

为此,我也细化了这个结构,如下图:

对于这个结构,游戏平台需要维护账号认证网关和登录模块,就是上图红色和蓝色部分。

这样,无论是网页,游戏端,手机游戏及应用等等,他们不需要关心登录模块的实现,只要知道如何嵌入模块调用即可。

当然,这个只是构想。实现是一步一步的事,而不是一蹴而就。一开始就把事情设想得很完美,结果反而却做不好。

拓展阅读:

游戏平台账号认证网关的实现
阅读(1984) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~