![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
秒杀项目
文章平均质量分 92
Zephyr丶J
这个作者很懒,什么都没留下…
展开
-
削峰限流防刷和令牌桶算法、少卖问题解决方式
削峰、限流削峰限流要解决什么问题呢,要解决OrderController中create(),下单这个方法,也可以称之为前端的接口,下单时流量过大的问题虽然说用了异步扣减库存,但是承载力是有限的,如果流量过大,服务器撑不住另外,秒杀商品有限,将有限的人放进来就可以了,不用把所有参与秒杀的人都放进来那么怎么限制我们把业务接口叫做交易,怎么解决流量问题呢?把交易之前的验证迁移出来,单独作为一步为什么?交易只是解决交易的问题,100个库存只放1000个人进来,而且是有权限的进来,他们来了就能交易,因为已原创 2021-09-04 21:38:14 · 960 阅读 · 0 评论 -
RocketMQ
RocketMQ官网:https://rocketmq.apache.org/看中文文档基本概念消息类型很多,java默认的机制并没有对消息进行归类,只会一股脑的消费,有时候就会比较混乱,性质就会受到影响;消息太多,没有分类,如果我只想消费一类数据,就实现不了RocketMQ消费的时候,是基于主题的,在发消息的时候,可以给消息定义主题,比如说秒杀、付款…消费者只关注对应的主题,只消费对应主题1 消息模型(Message Model)RocketMQ主要由 Producer、Broker、Con原创 2021-09-03 23:37:02 · 365 阅读 · 0 评论 -
知识点回顾(redis相关)
知识点回顾(redis相关)数据类型String是redis最基层的一种数据类型String最大可以存放512M的数据,这个非常关键因为String可以存放二进制数据,所以有人可能会放图片视频,所以在设计应用时要考虑的一个关键因素,关系到我们能不能用String来存储这样的数据,因为有可能这个资源会大于String的存储容量list因为可以从一端进一端出(blpush以阻塞的形式推入数据,brpop以阻塞的形式弹出数据),所以可以当做消息队列来用,所以说redis功能不局限在缓存,也可以做消息队列原创 2021-09-03 12:31:15 · 115 阅读 · 0 评论 -
知识点补充(MySQL读写分离、分布式事务)
项目只是一个节点,如果分布式部署该怎么办?多个节点是什么样的?在这个过程中,常见的优化手段是什么?mysql读写分离的原理是什么?mysql实现分布式事务原理是什么?(事务和log)分布式部署分布式的时候,tomcat有多个,做成一个集群的样子这里画了3个,每一个都跑着我们的应用,seckill多个tomcat前端访问哪一个了,通过nginx做负载均衡,做一个请求的分发,可以平均分发,也可以给服务器设置一个权重,权重高的发的多这样配置有个问题,如果nginx挂了,就都访问不了了,所以ngin原创 2021-09-02 16:09:34 · 535 阅读 · 0 评论 -
知识点补充(跨域,Cookie和session,分布式系统状态管理,单点登录(SSO)的实现机制)
跨域跨域的三种方法出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)1.代理代理其实没跨域比如要访问一个域名,user原创 2021-08-25 23:24:20 · 470 阅读 · 2 评论 -
Spring/MyBatis
SpringBeanFactory是Spring工厂,IOC工厂ApplicationContext是Spring容器,IOC容器SpringMVC是基于Spring来实现的SpringBoot是方便启动的,让整个项目快速运行SpringBoot演示新建Spring项目,一般在网页start.spring.io建立,不用在idea中建:然后genrate,会生成一个压缩包,下载到本地然后导入IDEA中,看一下maven设置,这里有两个特别的设置,可以改变目录的展现形式关键是pom原创 2021-08-23 21:23:41 · 745 阅读 · 0 评论