当Redis启动之后,会创建事件循环,不断地处理文件事件和时间事件。在注册服务端套接字时,会为其设置事件回调函数,当请求到来时,会调用这些回调函数来建立连接。本文就来分析一下连接的建立过程。
FlowSlot插槽用于实现流控检查,根据统计插槽中统计的数据来实现限流。Sentinel默认支持3种流控模式(直接、关联和链路)和3种流控效果(快速失败、Warm Up和排队等待)。本文就来分析一下这些功能是怎么实现的。
在sentinel中,StatisticSlot用于资源统计,与时间相关的资源则采用滑动窗口来实现,其他资源则采用普通的计数器。本文来分析一下这个插槽的工作原理。
DegradleSlot负责熔断降级,支持异常熔断和慢请求熔断,异常熔断又支持异常数量和异常比例两种策略。本文就来分析一下降级插槽和熔断器的工作原理。
在sentinel中,节点用于资源统计,有两种节点类型,默认节点(DefaultNode)和集群节点(ClusterNode),而入口节点(EntranceNode)是默认节点的子类型。入口节点是在创建上下文的时候创建的,而在插槽链的执行过程中,会创建默认节点和集群节点。
在XxlJob中执行器的注册一文中,讲到在启动时,会创建一个Netty服务器,该服务器就是与调度中心来通信的。本文就来分析一下在收到调度中心请求时,是怎么执行到我们注册的执行器方法的。
在客户端,我们只需要通过@XxlJob注解标记好执行器方法,那么运行中这些方法会自动被调用。实际上一个Spring Boot应用算是一个执行器,而应用中被@XxlJob修饰的方法被称为执行器方法。本文先来分析在启动过程中,是怎么注册执行器的,也就是怎么注册应用的。
Spring Security是基于过滤器链来处理请求的,在Spring Security的启动流程一文中,讲到Spring Security注册到servlet上下文中的过滤器是DelegatingFilterProxy,而该过滤器代理了FilterChainProxy。本文就来分析一下请求是怎么在这些过滤器中流转的。