——Java秒杀
张伟光
好玩的不是技术,好玩的是用技术玩转业务
展开
-
Java秒杀实战(六)系统异常拦截
运行的过程中,已知的异常信息,通过定义一个GlobleException类即全局异常类,再按一定的格式来抛出异常。package com.imooc.miaosha.exception;import com.imooc.miaosha.result.CodeMsg;/** * Created by 张伟光 on 2019/5/16. */public class GlobleE...原创 2019-05-30 20:47:13 · 292 阅读 · 1 评论 -
Java秒杀实战(十一) RabbitMQ四种常见应用模式
先把数据放到路由上。【Direct 模式】添加配置类package com.wings.seckill.config; import org.springframework.amqp.core.Queue;import org.springframework.context.annotation.Bean;import org.springframework.context....原创 2019-06-02 11:29:26 · 670 阅读 · 1 评论 -
Java秒杀实战(十) SpringBoot框架集成RabbitMQ
【安装RabbitMQ及其相关依赖】下载erlanghttps://www.erlang.org/downloads下载rabbitMQhttp://www.rabbitmq.com/download.html安装相关依赖yum install ncurses-develtar xf otp_src_21.0.tar.gzcd otp_src_21.0...原创 2019-06-02 10:29:23 · 368 阅读 · 1 评论 -
Java秒杀实战(九)页面优化技术(Redis缓存页面,url,对象)
【页面缓存】把页面的数据放到reids里面,然后从redis取出后直接返回html @RequestMapping(value = "/to_list", produces = "text/html") @ResponseBody public String toList(HttpServletRequest request, HttpServletResponse response...原创 2019-06-02 09:43:15 · 458 阅读 · 2 评论 -
Java秒杀实战(五) SpringBoot框架集成Redis
【Linux系统安装Redis】官网下载redis包,上传到linux服务器上。1.解压并移动目录tar -zxvf redis-4.0.10.tar.gz mv redis-4.0.10 /usr/local/redis cd /usr/local/redis/2.译并把编译后的可执行文件添加到启动目录make -j 4 make ins...原创 2019-05-29 21:44:23 · 284 阅读 · 2 评论 -
Java秒杀实战(四) SpringBoot框架集成Mybatis
如果linux系统没有安装mysql的话,推荐一篇博客来进行安装mysqlhttps://www.cnblogs.com/duanrantao/p/8988116.html1.maven添加mybatis依赖,druid依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> ...原创 2019-05-29 19:19:05 · 232 阅读 · 3 评论 -
Java秒杀实战(三) 系统结果集返回数据封装
Controller在开发过程,通常主要有两个作用:1.返回json结果;2.返回页面路径。在现在前后端分离的项目中,如果你是用的vue或者angular等,控制器只用返回json信息就行了。返回的信息我们定义一个数据结构 public class Result<T> { private int code; private String msg; private T d...原创 2019-05-29 17:16:16 · 491 阅读 · 2 评论 -
Java秒杀实战(二)IDEA实现SpringBoot框架搭建
【为什么出现SpringBoot?】 SpringBoot主要的目的是实现零配置,自动导入依赖,只需要自己配置数据库连接即可,很优秀的让框架搭建几乎实现了一键操作。【操作步骤】1.创建项目2.3.然后group这些可以自己命名,也可以用系统的,记得 Type选择Maven Project,写好之后点击 "Next"4.选中 左边 "Web"...原创 2019-05-29 16:50:21 · 372 阅读 · 2 评论 -
Java秒杀实战(一)项目环境介绍
【背景】 秒杀项目主要解决什么问题呢,大家应该很好奇,又例如双11晚上,大家都在等着秒杀商品,又有谁知道阿里内部对自己的淘宝做了多少步骤的处理,才能完成如此高并发的操作,来保证每个人畅通的完成项目的秒杀?有可能你们是同时进行的秒杀,为什么别人秒杀到了商品而你没有秒杀上?或者说你在排队等着秒杀的过程中,软件内部正在做什么处理呢?【框架技术】整个项目是基于spring...原创 2019-05-26 19:56:51 · 990 阅读 · 2 评论 -
Java秒杀实战(八)JMeter压测
下载链接http://jmeter.apache.org/download_jmeter.cgi添加线程组设置10个线程同时并发,下面的0表示多长时间启动起来这10个线程(0表示10个线程同时启动起来,1表示1秒钟10个线程先后启动起来),最下面的1表示循环多少次。设置http请求默认值添加待压测的http请求添加聚合报告监听器启动测试,下面是...原创 2019-05-31 21:42:02 · 451 阅读 · 1 评论 -
Java秒杀实战(七)分布式session
1.首先通过uuid生成唯一标识的token信息String token = UUIDUtil.uuid();2.然后把token信息连带着user用户信息放到缓存服务器中redisService.set(MiaoshaUserKey.token, token, user);3.再new出来一个cookie对象,往里面填充值,设置信息。Cookie cookie = ne...原创 2019-05-30 21:33:04 · 356 阅读 · 2 评论 -
Java秒杀实战(十二) 优化秒杀业务流程
优化后的秒杀业务流程【总结】 秒杀实现的优化思路,能缓存就去redis缓存起来,然后放到队列中,让队列去处理。原创 2019-06-02 15:32:52 · 1062 阅读 · 1 评论