越走越远的风


fandf

分布式限流框架sentinel

前言 前两篇文件介绍了四种常见服务限流算法解析和RateLimiter+AOP自定义注解限流。我们通过自定义注解可以对我们的服务进行保护,但是这样的实现方式有没有需要完善的地方呢? RateLimiter对服务的保护 正常情况下,ratelimiter通过对流量的限...

RateLimiter+AOP自定义注解限流

RateLimiter简介 springboot集成RateLimiter pom.xml引入guava依赖 <dependency> <groupId>com.google.guava</groupId> ...

四种常见服务限流算法解析

什么是服务限流 限定固定请求数量访问服务端,保护服务接口 欢迎关注个人公众号【好好学技术】交流学习 常用限流框架 常见的限流方式有:nginx限流、guava限流、sentinel、Redis等实现方式。 他们的本质算法都是基于 漏桶、令牌桶、滑动窗口来实现的...

redis集群数据存储方式

为什么需要集群 随着业务的发展,用户的增多,越来越多的数据需要去查询数据库。为了提高性能,往往会在查询数据库前加入缓存。然而随着业务的发展,单节点面临的问题也越来越多。查询压力,单点故障等等,所以我们需要使用缓存集群。 欢迎关注个人公众号【好好学技术】交流学习 ...

redis之缓存淘汰策略

前言 redis是一个内存数据库。 我们set key的时候,都可以给一个expire time,就是过期时间。 如果假设你设置一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的? redis内存满了之后会发生什么事情呢? 生产上应该设...

redis之分布式锁详解

前言 我们都知道分布式环境下要使用分布式锁才行。那么分布式锁都需要有哪些特点呢?单机redis怎么加锁?redis集群加锁有哪些坑呢?别急,下面我们一步步解开Redis分布式锁的面纱。 欢迎关注个人公众号【好好学技术】交流学习 分布式锁的特点 1.独占性 ...

缓存穿透、雪崩、击穿详解

欢迎关注个人公众号【好好学技术】交流学习 缓存穿透 什么是缓存穿透? 正常来讲,每次查询数据库时,都会先去缓存中查询是否存在,如果存在则返回,不存在则取查db。 如果去查询数据库不存在的数据,则缓存肯定不存在,那么每次查询都要访问数据库,这就是缓存穿透。 会有...

redis九大数据类型及场景案例实现

欢迎关注个人公众号【好好学技术】交流学习 什么是布隆过滤器 布隆过滤器(Bloom Filter)是1970年由布隆提出来的。 它实际上是由一个很长的二进制数组+一系列hash算法映射函数,用于判断一个元素是否存在于集合中。 布隆过滤器可以用于检索一个元素是...

redis九大数据类型及场景案例实现

欢迎关注个人公众号【好好学技术】交流学习 1.redis定义 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多 种类型的数据结构,如 字符串(strings)、散列(hashes)、 列表(li...

jvm调优工具详解及调优实战

前置工作 首先本地启动一个java项目 欢迎关注个人公众号【好好学技术】交流学习 jps查看进程 dongfengfan@dongfengdeMacBook-Pro ~/Desktop> jps 27377 Jps 27080 DemoApplicat...

jvm内存模型及垃圾回收机制

欢迎关注个人公众号【好好学技术】交流学习 一、内存模型 程序计数器 指向当前线程所执行的字节码指令的(地址)行号。 程序计数器是唯一不会出现 OutOfMemoryError 的内存区域,它的生命周期随着线程的创建而创建,随着线程的结束而死亡。 虚拟...

nginx配置文件详解

欢迎关注个人公众号【好好学技术】交流学习 ######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数。 worker_processe...

java常见排序算法实现

欢迎关注个人公众号【好好学技术】交流学习 列举java中比较常见的几种排序:冒泡排序、快速排序、插入排序、希尔排序、选择排序、归并排序以及基数排序。 冒泡排序 /** * @author fandongfeng * @description 冒泡排序 *...

下一个排列

欢迎关注个人公众号【好好学技术】交流学习 题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。 整数数组...

三数之和

欢迎关注个人公众号【好好学技术】交流学习 题目描述 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] +...