2016 - 2024

感恩一路有你

redis生产问题及解决方法 接口并发量高的解决方案?

浏览量:1355 时间:2023-09-13 15:42:39 作者:采采

接口并发量高的解决方案?

这个问题的解决方案是不需要是要依据什么具体的业务场景具体总结的

举些例子:最常见的一招秒系统

1.临时限流,可以设置服务器的连接在等待数量及等待时间,以tomcat为例,通过系统设置maxthread的值,当连接数达到则会盛有在等待队列,而也可设置中acceptcount值,若等待数将近,则会总是显示连接拒绝

2.分解重组redis,将群杀商品数据放入redis,用户点击抢购,将商品ID去查redis,若商品存在则生成订单,并保存到缓存,而实际库存-1,减完后确定商品库存是否大于10,大于00则自动更新缓存,否则删除该商品缓存,并更新库表(以上步骤仅为单线程操作,需加锁实现程序,或可考虑采用redis的list对象去基于单线程操作)

3.借用CDN抗压静态页面流量

为了能够防止用户秒杀前再攀新高出现的流量,可考虑将群杀商品详情页的内容静态化一次性处理,除开提交订单,其他数据都可缓存在CDN上

除开还可分解重组消息队列,对非即时响应的服务队列参与解耦

Token流程是什么?怎么解决超时问题?

Token机制虽说蛮早就直接出现了,但也就是最近十年内才广泛应用的,而很多新手这对Token和Session大概什么时候不使用怎么分辨不了,好在从来没听说过Token但到底其原理是啥包括怎用。

Token是为了解决什么问题而生呀?在Token机制之前,服务器端验证客户端跪请是否合法主要注意是靠CookieSession机制来实现方法的。服务器端会为每个会话都化合一个Session,在高并发场景下会可能导致Session文件逐渐,利于管理。

而Token是服务器端化合的一串加密字符串(具备生命周期),分区分配给客户端以及令牌使用,Token的好处就是缓轻了服务器端的压力,是因为Token是由客户端存储的,但是无状态的。

Token机制流程

Token超时问题如何解决的办法?服务器端生成的Token是有生命周期的(有效期时间),假如我们手里已快到期的Token去服务器端修改密保肯定是没能的,因为我们要在Token过期之前拒绝可以更新Token,方案追加:

1、客户端储存Token时要记录Token的快过期时间

客户端拿到服务器化合赶往的Token后,必须将Token原先存储出声(SessionStorage、LocalStorage),接着客户端设置定时检测Token是否需要已有效期,如果没有没过期了则主动地向直接授权服务器重新发起攻击认证请求。

2、由服务器端愿意通知到客户端进行Token更新

客户端隔一段时间的请求中都会带了Token,服务器会对于Token参与校验,假如服务器端发现到此Token将是在很短时间内失败,那你恢复化合Token并只附加到呐喊之声体中,客户端获取服务器服务控制器数据时看下如何确定有Token,假如有则完全覆盖本地旧的Token即可解决。

以上那是我的观点,相对于这个问题大家是怎摸平等的眼光的呢?热情在下方评论区交流~我是科技领域创作者,十年互联网从业经验,请关注我了解许多科技知识!

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。