- 实战Alibaba Sentinel:深度解析微服务高并发流量治理
- 吴就业
- 332字
- 2022-05-06 15:33:17
2.2.1 ResourceWrapper
如果一个资源描述的是一个接口,则资源名称通常就是接口的URL,如GET:/api/demo。
在Sentinel中,使用ResourceWrapper实例表示资源。ResourceWrapper类源码如下。
![](https://epubservercos.yuewen.com/9A25A7/23020654801681306/epubprivate/OEBPS/Images/42670-00-43-1.jpg?sign=1739681467-9PbjpZsgru56CyZeYFjwGtidH7rYJbSk-0-d915efd1430a0f3ac38bc5816568199b)
• name:资源名称,如GET:/v1/demo。
• entryType:流量类型,流入流量或流出流量。
• resourceType:资源类型,如Dubbo RPC、WebMvc或API Gateway。
EntryType类是一个枚举类,EntryType类源码如下。
![](https://epubservercos.yuewen.com/9A25A7/23020654801681306/epubprivate/OEBPS/Images/42670-00-43-2.jpg?sign=1739681467-E4n5V9sk9wKcmPzbBWiwwopI2E2XJZxT-0-770cd71f608c17e78fd4675bc95f727e)
IN指流入流量,OUT指流出流量。如果把IN和OUT简单理解为接收请求与发送请求,那么接收其他服务或前端发来的请求为流入流量;向其他服务发起的请求为流出流量。
Sentinel目前支持的资源类型有以下几种。
![](https://epubservercos.yuewen.com/9A25A7/23020654801681306/epubprivate/OEBPS/Images/42670-00-44-1.jpg?sign=1739681467-u3TEk7BiY8mMohcKOrRXx9Z87Ptyp4im-0-b5cced3875eda7a2731c76c690841553)
• COMMON:默认,可以是接口、一个方法、一段代码。
• COMMON_WEB:Web应用的接口。
• COMMON_RPC:使用Dubbo框架实现的RPC接口。
• COMMON_API_GATEWAY:API Gateway网关接口。
• COMMON_DB_SQL:数据库SQL操作。
虽然Sentinel在统计资源指标数据时将ResourceWrapper实例作为资源的ID,但资源的名称才是资源的唯一标识,ResourceWrapper实例只是额外记录资源类型和流量类型。