商城秒杀系统技术学习
文章平均质量分 78
学习解决请求量大并发高技术关键点和设计系统分级
WilsonSong1024
这个作者很懒,什么都没留下…
展开
-
SpringBoot(21) 基于阿里大于的短信验证微服务
SpringBoot(21) 基于阿里大于的短信验证微服务阿里大于其实就是阿里云下提供的一个服务,有开放API及SDK,用起来很方便,至于怎么去注册,开启服务,申请签名,生成短信模板,获取AccessKey,下载SDK和Demo等等操作就不详细介绍了,网上有很多的教程很详细,可以参考这篇博客:https://blog.csdn.net/qq1031893936/article/details/...原创 2019-01-06 20:03:36 · 1366 阅读 · 4 评论 -
SpringBoot(20)之高并发接口优化-------秒杀接口地址隐藏 + 验证码验证 +接口限流防刷
SpringBoot学习之高并发接口优化—–秒杀接口地址隐藏(验证码)+接口限流防刷秒杀接口地址隐藏思路:秒杀开始之前,先去请求接口获取秒杀地址。- 接口改造,带上PathVariable参数- 添加生成地址的接口- 秒杀收到请求,先验证PathVariable随机生成一个字符串,作为地址加在url上,然后生成的时候,存入 redis缓存中,根据前端请求的url获取pa...原创 2018-08-16 19:54:34 · 7813 阅读 · 6 评论 -
SpringBoot(19)学习之使用RabbitMQ实现高并发接口优化
使用RabbitMQ改写秒杀功能实现思路思路:减少数据库访问 具体的实现流程就是1.系统初始化,把商品库存数量加载到Redis2.收到请求,Redis预减库存,库存不足,直接返回,否则33.请求入队,立即返回排队中4.请求出队,生成订单,减少库存5.客户端轮询,是否秒杀成功其中4和5是同时并发处理的。具体实现系统初始化,把商品库存数量...原创 2018-08-16 19:53:22 · 5976 阅读 · 12 评论 -
SpringBoot(18)之安装RabbitMQ(踩坑)及RabbitMQ原理和使用详解
SpringBoot之安装RabbitMQ(踩坑)及RabbitMQ原理和使用详解安装RabbitMQ安装环境centos7 + RabbitMQ 3.7.7 + OTP 21.0 Source File 1.安装erlang:(1).下载: http://www.erlang.org/downloads(2).安装依赖yum install ncurses-dev...原创 2018-08-09 14:31:37 · 4826 阅读 · 0 评论 -
SpringBoot(17)学习之Windows和Linux下的JMeter压测和redis压测
SpringBoot学习之JMeter压测JMeter入门jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单。因为jmeter是java开发的,所以运行的时候必须先要安装jdk才可以。jmeter是免安装的,拿到安装包之后直接解压就可以使用,同时它在linux/windows/macos上都可以使...原创 2018-08-09 14:23:08 · 2108 阅读 · 0 评论 -
SpringBoot(16)使用JSR303参数校验并进行全局异常处理
SpringBoot使用JSR303参数校验开发web项目有时候我们需要对controller层传过来的参数进行一些基本的校验,比如非空,非null,整数值的范围,字符串的个数,日期,邮箱等等。最常见的就是我们直接写代码校验,这样以后比较繁琐,而且不够灵活。 不能总是写繁琐的代码来实现吧。使用JSR303来做参数校验就方便并且整洁很多了。pop引入依赖<!--JS...原创 2018-08-09 14:19:28 · 2207 阅读 · 0 评论 -
SpringBoot2(15)踩坑之Sping5中SpringWebContext方法过时
SpringWebContext方法过时今天在做项目的时候,为了优化访问速度,应对高并发,想把页面信息全部获取出来存到redis缓存中,这样每次访问就不用客户端进行渲染了,速度能快不少。想用thymeleafViewResolver.getTemplateEngine().process("goodslist.html",ctx);函数实现,里面有一个ctx参数,这个参数就是WebCont...原创 2018-08-09 14:17:35 · 6395 阅读 · 5 评论 -
SpringBoot2.0(13)集成Redis详解及踩过的坑(Could not get a resource from the pool)
SpringBoot2.0集成Redis首先安装的过程就不提了。上一个项目的redis是配置在Windows下的,集成很简单,也没有做什么配置。这次为了进行测试,装在了linux下。在SpringBoot集成的过程中遇到了一些小坑,分享一下。pom文件中添加依赖<!-- https://mvnrepository.com/artifact/redis.clients/je...原创 2018-08-08 18:28:21 · 44208 阅读 · 0 评论 -
SpringBoot2(14)之秒杀页面优化及解决超卖问题
页面缓存+URL缓存+对象缓存页面缓存其实系统访问某个页面的时候,并不是直接使用系统渲染,而是先从缓存中获取找到数据之后就然后返回给客户端,要是没有找到就手动渲染这个模板,渲染完成之后再把数据返回给客户端,同时把数据缓存到redis中。其实流程很简单:(1)取缓存 (2)手动渲染模板 (3)结果输出关于手动渲染,官方的介绍是这么说的;If you use Thyme...原创 2018-08-08 18:33:01 · 3366 阅读 · 2 评论