Http的会话token验证优化

Stella981
• 阅读 486

这里只是优化思路的一个具体应用场景。

在服务进程中 收到一个http请求的时候 会对客户端携带的token进行验证,一般token会有有效期的。这个一般可用于登录合法验证。

一般流程会是这样:服务进程redis验证token等信息,再处理业务。

如果服务进程数量上万个的话,那么单着一个验证token代价就会很庞大。几万个进程都会链接这个token集群进行验证和通讯。

1.减少通讯次数:可以通过本进程的内存缓存来达到一定效果,通过内存换来的。

2.添加离线计算:这个目的还是为了减少通讯次数,这里理论依据是整体消耗。假如一次redis验证的代价是 1MS,其中有10%的请求都会在token验证阶段被拦截掉(原因是过期了),那么我们可以通过token里面添加过期时间信息 来过滤掉,加入本地计算token过期时间为 0.01MS,通过验证后再进行redis查询, 那么整体来看,整体性能会提高约9%。这样的话token本身的生成方法,是有一定规则的,token的信息里面包含了一些其他信息达到快速验证的目的。

3.架构上添加接入层:验证放在接入层来做的话,后面的业务进程就可以去掉这个验证的东西了,达到去重去冗余的目的。甚至可以在硬件或者软件接入层进行验证。

在游戏应用领域,cdkey的兑换 也可以按照这个思路去进行优化。

点赞
收藏
评论区
推荐文章
好买-葡萄 好买-葡萄
2年前
前端如何实现token的无感刷新
好买网www.goodmai.comIT技术交易平台通常,对于一些需要记录用户行为的系统,在进行网络请求的时候都会要求传递一下登录的token。不过,为了接口数据的安全,服务器的token一般不会设置太长,根据需要一般是17天的样子,token过期后就需要重新登录。不过,频繁的登录会造成体验不好的问题,因此,需要体验好的话,就需要定时去刷
kenx kenx
2年前
SpringBoot @ModelAttribute 用法
前言项目中遇到这么一个使用场景,用户的登录信息给予token保存,在需要有登录信息的地方,每次都要去获取用户Id,但每次在请求方法中去获取用户信息,代码重复,冗余,很low于是想到了用@ModelAttribute这个属性使用场景不用@ModelAttribute时候在需要用户信息的请求中每次需要单独获取用户信息JavaStringtoken
专注IP定位 专注IP定位
2年前
Token机制相对于Cookie机制的优势
我们大家在客户端频繁向服务端请求数据时,服务端就会频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,也就是在这样的背景下Token便应运而生。简单来说,Token是服务端生成的一串字符串,以作为客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来
Stella981 Stella981
2年前
Spring Cloud OAuth 实现微服务内部Token传递的源码解析
背景分析!(http://pic.pigx.top/20190414113622_whRvQH_havetoken.jpeg)1.客户端携带认证中心发放的token,请求资源服务器A(SpringSecurityOAuth发放Token源码解析(https://my.oschina.net/giegie/blog/
Stella981 Stella981
2年前
Spring Boot REST 风格 API 接口 JWT Token 认证
SpringBootREST风格API接口JWTToken认证需求分析接口认证需求:1能够有选择地过滤没有权限(Token)的请求2Token具有时效性3如果用户连续操作,Token能够自动刷新(自动延长有效期)核心依
Stella981 Stella981
2年前
API 接口设计中 Token 类型的分类与设计
在实际的网站设计中我们经常会遇到用户数据的验证和加密的问题,如果实现单点,如果保证数据准确,如何放着重放,如何防止CSRF等等其中,在所有的服务设计中,都不可避免的涉及到Token的设计。目前,基于Token的生成方,我们把Token生成分为两种类型。1、基于用户/网站,可见的加密请求方式2、基于服务器间通讯的不可见加密请求方式(API To
Stella981 Stella981
2年前
JWT 在 Web 服务中进行无状态授权的原理
JWT指的是JSONWebTokens,是一串数据加密后生成的Token字符串,通过以下方式服务器端可以判定客户端的身份。1、客户端用户userA使用用户名密码登录服务器2、服务器返回给用户数据和一串Token3、userA再次请求数据带上Token,而不用再次输入用户名密码4、服务器解密Token,拿出其中标识用户
Stella981 Stella981
2年前
Django (七) token&静态文件&媒体文件
token&静态文件&媒体文件1\.token1.会话技术2.服务端会话技术3.它实际上就是手动实现的session4.实现token4.1在models.py中User类中添加token字段   c
Wesley13 Wesley13
2年前
PHP微信开发入门(一)
微信的接入在填写服务器URL时指向TOKEN验证的php文件,列如http://localhost/wlink.php验证示例代码<?php//如果接收到验证信息则调用valid()函数进行验证if(isset($_GET'echostr')){valid();}else
郑天寿 郑天寿
1个月前
为什么客户端不支持获取 Token,为什么一定要在服务端请求 Token?
为什么客户端不支持获取Token,为什么一定要在服务端请求Token?