
大量访问高并发的应对(主要访问大量访问数据库崩溃)
1.Redis预减库存减少数据库访问
2.map标记减少Redis访问屏蔽一定的请求减轻缓存压力
3.消息队列异步处理
流量削峰 开始抢购的瞬间 大量并发进入,先将请求入队,若队列满了,那么舍弃再入队的请求返回一个异常
先给前端一个数据返回表示排队中,再进行后续的业务处理,前端轮询最后成功或者失败在显示业务结果
4.数据库运行的问题,传统的sql写成存储过程(直接调用),加速sql
5.数据库里锁及唯一索引来处理抢的问题。
**
页面加载速度
**
页面静态化,缓存在客户端
CDN服务器
在上表中列出来的解决方案中看出,利用 页面静态化、数据静态化,反向代理 等方法可以避免 带宽和sql压力 ,但是随之而来一个问题,页面抢单按钮也不会刷新了,可以把 js 文件单独放在js服务器上,由另外一台服务器写 定时任务 来控制js 推送。
另外还有一个问题,js文件会被大部分浏览器缓存,我们可以使用xxx.js?v=随机数 的方式来避免js被缓存
博客主要探讨大量访问高并发及页面加载速度问题。高并发方面,提出Redis预减库存、map标记、消息队列异步处理等应对策略,还涉及数据库优化。页面加载速度上,采用页面静态化、CDN服务器等方法,同时解决了抢单按钮不刷新和js缓存问题。
3980

被折叠的 条评论
为什么被折叠?



