![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
优化
文章平均质量分 92
系统优化,SQL优化,代码优化,性能优化。
BugRoot
CV大法(唯快不破),既搬既用。
展开
-
基于Redis组件之分布式RateLimiter限流
上文我们介绍了RateLimiter文章路径针对IP来限流的方式,上文的限流方案,只针对单应用情况,分布式集群下就不能使用上文的方式,分布式下的限流方案有很多种,这边展示的是Redis的封装redission框架。可以这么讲,jdk中的juc包提供的是单机版的并发业务。那么Redisson基本是基于juc实现的分布式的业务。一:Redission官网我们先去Redission官网喵喵redission官方地址我们可以看到wiki提供了很多功能介绍,分布式锁等,我们这篇文章主要讲限流。进入正题原创 2021-05-18 16:27:16 · 7908 阅读 · 3 评论 -
Guava之RateLimiter限流
RateLimter是什么,我们为什么需要用到它,以物流系统作为例子:比如系统有一个物流信息查询接口,提供给第三方调用,接口暴露在公网,会出现什么问题,大致讲下如下问题:1、大量正常用户高频访问导致服务器宕机2、恶意用户高频访问导致服务器宕机3、网络爬虫等等限流常见方案:1:Nginx限流2:Tomcat限流3:漏桶算法4:令牌算法等等这里不多介绍,只介绍下RateLimter的令牌算法。其它的后续文章会加上。需要引入第三方组件库<dependency> <原创 2021-05-12 18:34:10 · 3123 阅读 · 0 评论 -
JDK1.8之DateTimeFormatter
我们常用的日期格式方式就是使用SimpleDateFormat,SimpleDateFormat在我们系统的里面,经常会用到,比如转换时间戳导出、打印啊等等。伪代码:正常我们都会这样使用转换时间注意:有些是需要的时候创建新实例如:工具类,创建新的实例SimpleDateFormat在并发下会出现出现时间不对,线程挂死等等。见源码:作者写的注释:翻译为:日期格式不同步。建议为每个线程创建单独的格式实例。如果多个线程同时访问一种格式,则必须从外部对其进行同步。我们常用的forma原创 2021-05-11 16:25:43 · 3471 阅读 · 0 评论 -
十万个为什么不推荐使用BeanUtils属性转换工具
至于为什么,我们跟着源代码来看,以及各种拷贝工具的性能效率;对比工具如下:1:apache common-beanUtils2:Spring beanUtils3:CGLib(实现converter与不实现converter情况,提供缓存BeanCopier提升性能)4:Mapstruct效率:getter/setter > Mapstruce > CGLib > Spring >apache common-beanUtils …;推荐直接定义转换类和方法可使用 IDE原创 2021-04-29 16:03:34 · 6649 阅读 · 0 评论