账号认证网关,指的是对外提供账号认证服务的应用接口。本质上是一个进程,基于某种特定协议(如HTTP协议),接收账号认证请求,通过查询账号数据库验证账号是否正确,然后返回验证结果。
写这篇文章,主要是继续补充“游戏平台架构 账号篇”的内容。如果到这里还看不明白的童鞋不妨先看看前面写的这篇文章。
账号认证网关的实现,主要有以下几个技术点:
1、 作为服务端进程,接收并处理请求
2、 长连接数据库,查询账号是否正确
3、 缓存查询过的账号,减少重复的查询
第一点,服务端进程
我们先对前面两点做一下分析,服务端进程需要24小时监听并处理请求,而且获取请求传过来的账号信息,并进行数据库查询,将结果告知请求。
这一来一回的过程,本质就是服务端socket与客户端socket通信的过程,从监听(listen),到接受请求(accept),到接收数据(recv),然后传输数据(send),最后关闭连接的过程。
这里还有一个需要注意的问题,如何去约定传递的数据格式?哪部分内容代表账号?哪部分内容又代表什么?所以我们在通讯时服务端和客户端都会事先协议好。
为了提高开发效率,同时也使我们能集中精力去处理业务,我选用了相对成熟的