简介
龙虾三少的秒杀项目
参考链接
https://blog.csdn.net/weixin_43672855/article/details/104452118?spm=1001.2014.3001.5501
多级缓存
redis 缓存, guawaCache缓存
比如获取商品列表的时候可以同时用上redis缓存和guawaCache缓存. 这样当guawaCache失效的时候访问redis缓存, 最后失败访问mysql.
限流
google.guava.RateLimiter就是令牌桶算法的一个实现类,OrderController引入这个类,在init方法里面,初始令牌数量为200。
每秒支持200人的流量. 超过的拒绝
使用验证码防止黄牛
awt 编写的图片,然后加上40条线段扰动图片. 四个字符.
使用异步操作
我们之前做了下单减存库存优化以及回补库存的操作,但是因为整个下单是属于一个transaction事务,如果用户下单成功,但是之后订单入库或返回前端的过程中失败,事务回滚,会导致少卖的现象,有可能造成库存堆积
我们的解决方法就是异步消息的发送要在整个事务提交成功后再发送