springboot + redis + mysql + rabbitMq
测试地址:www.keyvin.cn
(1)系统初始化时把库存数加载到redis中;
(2)内存标记减少redis访问
(3)收到请求redis预减库存,redis库存0时直接返回秒杀失败,大于0时进入第4步;
(4)MQ入队,立即返回排队中;
(5)MQ出队,生成订单、减少库存;
(6)客户端轮询,是否秒杀成功(异步了:请求时不知道成功失败,另起查询才知道)。
(1)秒杀接口地址隐藏,接口地址动态从后台获取
(2)验证码,分流1s分到10s
(3)接口防刷,限制ip访问频率,用redis缓存过期
(1)明文密码两次MD5加密
(2)JSR303参数校验,全局异常处理
(3)分布式session,用户放到redis,取时根据token取redis用户