实战Alibaba Sentinel:深度解析微服务高并发流量治理
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.1 ResourceWrapper

如果一个资源描述的是一个接口,则资源名称通常就是接口的URL,如GET:/api/demo。

在Sentinel中,使用ResourceWrapper实例表示资源。ResourceWrapper类源码如下。

• name:资源名称,如GET:/v1/demo。

• entryType:流量类型,流入流量或流出流量。

• resourceType:资源类型,如Dubbo RPC、WebMvc或API Gateway。

EntryType类是一个枚举类,EntryType类源码如下。

IN指流入流量,OUT指流出流量。如果把IN和OUT简单理解为接收请求与发送请求,那么接收其他服务或前端发来的请求为流入流量;向其他服务发起的请求为流出流量。

Sentinel目前支持的资源类型有以下几种。

• COMMON:默认,可以是接口、一个方法、一段代码。

• COMMON_WEB:Web应用的接口。

• COMMON_RPC:使用Dubbo框架实现的RPC接口。

• COMMON_API_GATEWAY:API Gateway网关接口。

• COMMON_DB_SQL:数据库SQL操作。

虽然Sentinel在统计资源指标数据时将ResourceWrapper实例作为资源的ID,但资源的名称才是资源的唯一标识,ResourceWrapper实例只是额外记录资源类型和流量类型。