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

最新发布
性能测试的一般流程
2020/10/15 16:57:51在软件测试中应该注意哪些原则?
2020/10/12 16:17:24直播平台如何做性能测试和涉及的关键点
2020/9/27 16:27:13如何提高软件测试团队工作效率
2020/9/8 17:04:34软件测试理论之缺陷管理
2020/8/26 16:12:27关于性能测试需要重视的两个要点
2020/8/26 15:29:06软件测试的棘手问题:如何避免重复提交缺陷
2020/8/26 15:12:13手动测试和自动化测试的区别
2020/8/12 13:50:42