源码解读二:入口类和重点概念
文章目录
概述
这篇文章先来分析下 Sentinel 的入口类 Sph 和一些基础概念的类:ResourceWrapper 、Context 、Node 、Rule。
入口类 Sph
Sentinel 是哨兵的意思,Sentinel 框架是使用流控方式来保护微服务的。它的内部原理和 Hystrix 不太相同,并不是使用线程池的方式去隔离不同资源。更接近于为每一个资源分配可访问的许可,当访问请求突破许可时则触发流量控制规则,来保护系统。
Sentinel 框架的入口类是 Sph ,查询 github 上的 issue ,作者说这个词是生造出来的,是对 Semaphore 的简写。
Sph 接口提供了对资源访问的各种 entry 方法,下面就来详细的进行分析。
首先还是来看下类图,如下

Sph 接口中规定了各种各样的 entry 方法,但是归根到底,在具体的实现上,也就是 CtSph 中,所有的 entry 方法最终都是委托给了entryWithPriority 方法来实现资源访问。这边就来详细