秒杀项目
文章平均质量分 74
jian
妙先森
这个作者很懒,什么都没留下…
展开
-
秒杀项目汇总
秒杀项目笔记汇总耗时半个多月终于学完了、笔记也做完了、接下来就是秋招了。冲冲冲(秒杀项目) 4.2 用户登录和注册(秒杀项目) 4.3 商品列表与详情(秒杀项目) 4.4 用户下单与秒杀(秒杀项目) 4.5 项目部署与压测(秒杀项目) 4.6 分布式状态管理(秒杀项目) 4.7 缓存商品与用户(秒杀项目) 4.8 异步化扣减库存(核心)(秒杀项目) 4.9 削峰限流与防刷(核心)(秒杀项目) 4.10 项目面试项目常见问题...原创 2021-08-25 23:54:57 · 1260 阅读 · 1 评论 -
(秒杀项目) 4.10 项目面试项目常见问题
1. 你的项目是自己做的还是找来的这个项目是我在学校里的大学生创新创业大赛、别的院的学生要做一个电商平台。然后到我们大数据学院找人做,最终在我们院找了几个人做的这个项目。我负责了秒杀这个模块。2. 你在项目中遇到的最大的问题是什么问题一在做异步化扣减库存模块的时候、因为要使用到rocketmq所以我要在我的linux服务器上安装配置rocketmq、根据网上一些安装配置博客进行安装配置,后来按照他们的安装配置步骤一步步的走安装配置好之后,但我在启动的时候他一直启动不起来。开始我一直怀疑是不是我的步骤原创 2021-08-25 23:49:14 · 1218 阅读 · 0 评论 -
(秒杀项目) 4.9 削峰限流与防刷(核心)
一、削峰限流1. 削峰限流的目的目的就是解决下单操作时流量过大的问题、假设有某个商品商品总数只有一个、而抢他的人有几百万个、那么在秒杀时假设没有限流一秒之内一个服务器突然就受到了百万几的压力、这样服务器很容易就会奔溃挂掉。而削峰限流的目的就是为了防止这种事情的发生保护服务器的安全。2.削峰限流的解决方案大题实现逻辑如上图验证码:它的目的是平滑流量、在进行秒杀的时候防止秒杀的流量过高。假设有几百万个用户秒杀一个商品如不做任何处理直接单击购买商品后就直接生成订单进行秒杀、这将会是秒级百万的流量这样会原创 2021-08-24 17:02:35 · 1926 阅读 · 0 评论 -
(秒杀项目) 4.8 异步化扣减库存(核心)
一、安装RocketMQ官方下载地址:http://rocketmq.apache.org/dowloading/releases/打开下载地址找到要下载的版本、复制链接。然后再Linux中使用命令wget 链接进行下载,然后使用unzip命令解压缩。解压完之后给他最高的可执行权限执行 chmod -R 777 rocketmq-all-4.8.0-bin-release更改配置修改相应的配置、应为默认的内存大小是4个G、我们要根据需求改成我们合适的大小。修改runserver.sh原创 2021-08-23 02:25:25 · 3629 阅读 · 4 评论 -
(秒杀项目) 4.7 缓存商品与用户
一、缓存商品本项目中在商品缓存用到了二级缓存、本地缓存使用guava、服务器缓存用redis缓存。使用guava缓存要先导入guava的依赖。<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>27.0.1-jre</version></dependency>原创 2021-08-15 00:08:04 · 497 阅读 · 0 评论 -
(秒杀项目) 4.6 分布式状态管理
一、安装整合redis安装使用redis对项目加缓存优化商品列表、商品详情的访问性能。安装教程参考:阿里云 centos 7.6 安装和启动redis 6整合首先引入redis的依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></d原创 2021-08-13 21:18:59 · 531 阅读 · 0 评论 -
(秒杀项目) 4.5 项目部署与压测
一、项目部署1. 部署逻辑因为是前后端分离开发、所以部署到服务器上前后端要分别部署。nginx:使用web服务做前端页面浏览的服务器。反向代理用来做发送后端数据接口请求的地址转发。tomcat:用来做后端服务器。大致逻辑: 浏览器端输入url地址 —> 请求web服务器前端页面 —> 发送ajax请求 —> 访问反向代理 —> 请求后端接口 —> 返回数据给反向代理 —> 返回给浏览器。这里使用80端口表示请求的是前端页面、90端口请求的是后端接原创 2021-08-12 02:13:03 · 1068 阅读 · 0 评论 -
(秒杀项目) 4.4 用户下单与秒杀
一、慢查询分析慢查询分析是通过开启慢查询日志开关、然后执行某个sql超过了配置的查询最大时间会将这条sql记录到慢查询日志中,以便我们开发人员进行分析检查查询慢的原因,方便进行sql优化。(面试时我们可以编一个故事、我们在做项目中是如何进行sql优化的、比如我们可以假设在商品展示中发现商品列表加载太慢、然后通过使用慢查询分析发现是查询商品活动信息sql语句超时、经过分析是查询没有使用索引、优化后使用索引提高了页面的加载速度。)打开慢查询日志开关有两种方式一种是设置参数、一种是修改配置文件。这里使用设置原创 2021-08-08 20:58:53 · 800 阅读 · 0 评论 -
(秒杀项目) 4.3 商品列表与详情
一、登录状态的维护登录状态的维护是通过session来维护、上节说到登录成功后会存一个loginUser对象到session中。当对象没有登录时自然就不会有这个对象、所以在购买商品时没有登录是无法进行购买的,而实现这个功能用到的是springmvc的拦截器功能。登录拦截器的实现想要使用拦截器首先要自定义一个拦截器、然后注册到ioc容器中。自定义拦截器自定义拦截器就是写一个类实现HandlerInterceptor接口、实现这个接口可以重写三个方法、如下图分别是:preHandle:控制器执行原创 2021-08-07 01:06:55 · 796 阅读 · 1 评论 -
(秒杀项目) 4.2 用户登录和注册
一、注册模块实现前端页面通过页面可知、注册需要先通过发送验证码给手机号码然后输入正确的验证码后才能进行注册。后端实现验证码模块点击发送验证码会请求后端接口/otp/{phone}、找到对应的controller实现。由代码可知分成三步、生成验证码->绑定验证码–>发送验证码生成验证码的函数可知是随机生成4位数。将验证码绑定到session中、然后再发送。注册模块单击注册之后会请求后端的/register接口、找到对应的处理器由代码可知、会先验证验证码是否正确、原创 2021-08-04 21:02:00 · 1073 阅读 · 0 评论 -
阿里云centos7上yum安装并连接mysql
安装mysql输入命令一路y过去yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh远程连接mysql记得要在阿里云上开放3306端口如果使用集成工具连接mysql出现Unknown MySQL server host ‘localhost’(11001)说明没有权限,开放权限就可以了,按照顺序执行完下面的命原创 2021-04-24 18:47:02 · 245 阅读 · 0 评论