随笔分类 - 项目四:Java秒杀系统方案优化-高性能高并发实战
摘要:一、秒杀接口地址隐藏 思路:秒杀开始之前,先去请求接口获取秒杀地址 1、接口改造,带上PathVariable参数 2、添加生成地址的接口 3、秒杀收到请求,先验证PathVariable 二、数学公式验证码 思路:点击秒杀之前,先输入验证码,分散用户的请求 1、添加生成验证码的接口 2、在获取秒杀
阅读全文
摘要:一、RabbitMQ四种交换机模式 见代码提交 二、秒杀接口优化 思路:减少数据库访问 1、系统初始化,把商品库存数量加载到Redis 2、收到请求,Redis预减库存,库存不足,直接返回,否则进入3 3、请求入队,立即返回排队中 4、请求出队,生成订单,减少库存 5、客户端轮询,是否秒杀成功
阅读全文
摘要:一、页面缓存+URL缓存+对象缓存 1、通过加缓存来减少对数据库的访问 2、步骤: 取缓存 手动渲染模版 结果输出 3、页面缓存和URL缓存的过期时间比较短,比较适合变化不大的场景,比如商品列表页。而对象缓存粒度很小,比如通过token来拿到用户 最常用的缓存更新模式Cache Aside Patt
阅读全文
摘要:一、JMeter入门压测 1、打开JMeter工具,选中测试计划->右键添加->线程(用户)->线程组,页面中的线程数就是并发数,页面中的Ramp-Up时间(秒)表示通过多长时间启动起来这些线程,如果值为0,表示这些线程一起启动起来。 2、选中线程组->右键添加->配置元件->HTTP请求默认值,来
阅读全文
摘要:本节见github上本项目的提交
阅读全文
摘要:一、数据库设计 CREATE TABLE `miaosha_user` ( `id` bigint(20) NOT NULL COMMENT '用户ID,手机号码', `nickname` varchar(255) NOT NULL, `password` varchar(32) DEFAULT N
阅读全文
摘要:一、Spring Boot环境搭建 1、把项目分成多个模块,每个模块对应一部分(不一定是一个章节)的内容,代码将在文章的具体位置给出,每个模块都是在之前模块的基础上构建,每个模块都为Spring Boot项目。 2、idea中新建一个Empty Project名为mymiaosha,在其下新建第一章
阅读全文