springboot
houdezaiwu1
这个作者很懒,什么都没留下…
展开
-
springboot+ RabbitMq 初识rabbitmq消息队列(一)
初识RabbitMq应用场景邮箱发送:用户注册后投递消息到rabbitmq中,由消息的消费方异步的发送邮件,提升系统响应速度流量削峰:一般在秒杀活动中应用广泛,秒杀会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列。用于控制活动人数,将超过此一定阀值的订单直接丢弃。缓解短时间的高流量压垮应用。订单超时:利用rabbitmq的延迟队列,可以很简单的实现订单超时的功能,...原创 2019-03-26 14:55:24 · 260 阅读 · 0 评论 -
Spring定时任务:cron表达式详解
语法Cron表达式是一个字符串,从Spring4.x版本后,不再进行年份的支持。该字符串以5个空格隔开,分为6个域,每一个域代表一个含义。语法如下:seconds minutes hours daysOfMonth months daysOfWeek有兴趣的同学可以参考Cron表达式解析类:org.springframework.scheduling.support.CronSe...转载 2019-08-09 09:43:20 · 530 阅读 · 0 评论 -
springboot整合mysql+mycat中间件实现一主两从读写分离和分库分表
引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离上一篇:springboot+mybatis+mybatis +mysql读写分离(AOP...原创 2019-05-28 14:19:36 · 9382 阅读 · 3 评论 -
springboot+mybatis+mybatis +mysql读写分离(AOP方式)
引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP然而...原创 2019-05-23 16:43:46 · 3278 阅读 · 4 评论 -
spring boot 缓存详解(二)springboot + redis 缓存
引入pom 依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> <version>1....原创 2019-05-11 16:44:10 · 343 阅读 · 0 评论 -
spring boot 缓存详解(二)springboot + EhCache 缓存
有了上一节的说明,其实缓存挺简单的,就是用cacheManager 去管理cache,关键点就是选择哪个缓存管理器,在不指定的情况下,使用的是springboot默认的SimpleManager,用CurrentHashMap实现,如果要用其他的就配置相应的管理器,本文我们使用一个常用的 EhCache.引入依赖<dependency> <groupI...原创 2019-05-11 16:16:28 · 694 阅读 · 0 评论 -
spring boot 缓存详解(一) JSR107和spring缓存抽象
前言最近想用redis在项目中用缓存,就是在按照网上的教程配置了下,然而卵用没有,许多内容看不懂,还有许多误导性的东西,无奈,从源头开始看,梳理一些基础知识,需要注意,在用各种缓存之前,一定要将这些东西看完。话不多说,为什么用缓存这些就不说了,先来了解下 JSR107规范,这是基础。JSR107 缓存规范Java Specification Requests 简称 JSR,是java提供...原创 2019-05-10 14:46:39 · 545 阅读 · 0 评论 -
springboot 搞定重复提交(本地锁)
在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交….重复提交字面意思就是提交了很多次,比如同样的数据被插入到数据库多次。方法利用 自定义注解、Spring Aop、Guava Cache 实现表单防重复提交(不适用于分布式,后面会讲分布式方式…)导入依赖...原创 2019-05-06 17:46:37 · 2774 阅读 · 0 评论 -
springboot + rabbitMq延时队列(二)
延时队列延时队列能做什么?订单业务: 在电商/点餐中,都有下单后 30 分钟内没有付款,就自动取消订单。短信通知: 下单成功后 60s 之后给用户发送短信通知。失败重试: 业务操作失败后,间隔一定的时间进行失败重试 对于需要延时操作的事务,不用延时队列可以用定时任务的方式,来查询数据库,但这样的的效率很低。另一种就是用J...转载 2019-05-06 15:22:31 · 302 阅读 · 0 评论 -
springboot 全局异常
1. 自定义异常在应用开发过程中,除系统自身的异常外,不同业务场景中用到的异常也不一样,为了与标题 轻松搞定全局异常 更加的贴切,定义个自己的异常,看看如何捕获…package com.example.exception;/** * Created by Administrator on 2019/5/5. * 1 自定义异常 */public class GlobalExcep...原创 2019-05-05 15:25:04 · 100 阅读 · 0 评论 -
spring事件传播机制------基于观察者模式
前言这几天看sping和springboot的一些高级应用,有所感悟,spring框架发展已经将近20年了,还像一个小伙子一样年轻,我们可以看到,它在不断地的扩展和更新,二以前的struts等,早已是日落西山,基本没人用了,那么,为什么,就是因为spring框架设计的好,使得扩展成为了可能,同时容易维护,现在想一个问题,我们的项目可以维护20年吗?显然这是不太可能的,几年的项目就改的稀巴烂,所以...原创 2019-09-16 00:54:52 · 291 阅读 · 2 评论