关于房产在线开盘秒杀场景的一些技术细节
作者:PR 发布时间:[ 2020/7/10 9:41:52 ] 推荐标签:
房产在线开盘是一种典型的高并发秒杀性能测试场景,买房的人往往多于房源数量,几千人同时抢购并不是什么稀罕事,一些热门楼盘甚至出现万人抢房的空前盛况。某在线开盘系统为这种场景提供了可靠的解决方案,能够从容应对万人级别的并发抢购场景,抗并发能力在实际开盘中得到检验。该系统整体架构如图所示。
除此之外,设计一个秒杀系统还需要考虑系统的可扩展性,客户量级进一步增大后,能够方便地进行容量扩展。
下面具体介绍一下在线开盘系统的性能测试技术细节:
总体方案如下:从前端开始,在各层级模块进行限流处理,对单个用户的请求频率作限制,进行多级校验,及时丢弃⽆效请求;前端和后端联合进行请求数据校验,防止请求作弊,减小服务器负载。
具体如下: 客户登录时,在nginx层经过会lua脚本的防刷处理,对登录接口访问频率作限制,防止登录接口请求频率过高导致的数据库崩溃;同时,前端读取当前时间戳,与用户ID进行拼接后进行Hash运算,生成token,存储在Redis缓存以及Cookie中,并返回Cookie给客户端浏览器;该token作为用户的身份校验凭证,每次发起抢购请求时,后端都会校验该token,判断前后端是否匹配,若不匹配则拒绝客户端请求,并提示用户重新登录;
从图可以看出,当用户从其他设备重新登录时,会生成最新的token覆盖旧token,原设备Cookie中存储的token则失效。这样保证了C端用户只能在单台设备上进行登录,减少了用户通过多台设备同时参与秒杀的可能。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11