SpringBoot
Crayon_Yu
每天一点点~
展开
-
SpringBoot 基于Redis实现分布式限流
需求:XX接口访问量太大,需要在一定时间内不让那么多的请求进来 实现原理: 用Redis作为限流组件的核心的原理,将接口名称当Key,一段时间内访问次数为value,同时设置该Key过期时间。 限制 XX接口在TT时间内访问次数 第一次访问 操作redis,key:接口名称 value:次数 expire设置过期时间 TT 第二次访问操作redis, value + 1,如果过期则按照第一次处理 通过lua脚本 来保证原子性 推荐使用Lua脚本。 减少网络开销: 不使用 Lua 的代码...原创 2020-06-07 20:18:57 · 1364 阅读 · 0 评论 -
SpringBoot Redission实现分布式锁
为了防止分布式系统中的多个进程之间相互干扰,我们需要一种分布式协调技术来对这些进程进行调度。 而这个分布式协调技术的核心就是来实现这个分布式锁。 分布式锁应该具备条件 互斥性 防止死锁 可重入 非阻塞 锁的力度 目前我所知道的有3种方式 通过 数据库实现排他锁 -- 性能比较差 不推荐 通过 zookeeper 实现 -- 目前还不了解 通过 redis(Redisson)实现 -- 通过设置过期时间 来控制锁的获取及释放 Redisson 原理 Redisson分布式锁的实现是基于实现RL.原创 2020-05-31 18:13:24 · 2848 阅读 · 0 评论 -
Spring Boot 简单入门
感受:简化的很多配置文件,内嵌了Tomcat,默认使用 properties或者yml(建议) 类型的文件来配置 极简的组件依赖,自动发现与自动装配,提供运行时的应用监控,与分布式架构和云计算的天然集成。 目录 Spring Boot 目录结构 Spring Boot入口类 Spring Boot启动流程 ...原创 2019-05-26 14:27:43 · 221 阅读 · 0 评论 -
SpringBoot 自定义starter -- 解决异常通知
SpringBoot的确简单,基本都是自动配置 通过自定义starter 了解自动配置 需求:线上代码500了 怎么及时通知到位 解决:自定义starter,通过 org.springframework.web.servlet.HandlerExceptionResolver 来监听异常,然后异步邮件推送 对于自定义starter命名 Spring官方约定 {name}-spring-boot-starter 源码地址:https://gitee.com/love_yu_0698/exceptio.原创 2020-05-30 20:35:57 · 882 阅读 · 0 评论 -
Nginx +SpringBoot + Redis 解决 Session共享
在集群项目中,实现 Session 共享的方案 使用 Spring Session 来实现这一功能,Spring Session 就是使用 Spring 中的代理过滤器,将所有的 Session 操作拦截下来,自动的将数据 同步到 Redis 中,或者自动的从 Redis 中读取数据。 对于开发者来说,所有关于 Session 同步的操作都是透明的,开发者使用 Spring Session,一旦配置完成后,具体的用法就像使用一个普通的 Session 一样。 boot版本 2.0.6 nginx re原创 2020-05-24 14:13:30 · 388 阅读 · 0 评论