30、SpringCloudAlibaba实战:熔断限流:@SentinelResource简介以及框架初步搭建

@SentinelResource 简介以及框架初步搭建

    • 1.@SentinelResource 简介
  • 2.框架的搭建
    • 2.1 搭建 sentinel-example
      • 2.1.1 使用 IDEA 创建一个 Maven 项目
      • 2.1.2 添加依赖
      • 2.1.3 修改项目的打包方式
      • 2.1.4 完整的 pom.xml 文件如下
    • 2.2 搭建 sentinel-provider
      • 2.2.1 使用 IDEA 创建一个 Maven 项目
      • 2.2.2 修改项目的打包方式
      • 2.2.3 完整的 pom.xml 文件
    • 2.3 搭建 sentinel-consumer
      • 2.3.1 使用 IDEA 创建一个 Maven 项目
      • 2.3.2 修改 pom.xml 文件
      • 2.3.3 完整的 pom.xml 文件

1.@SentinelResource 简介

  • Sentinel 提供了@SentinelResource 注解用于定义资源,并提供可选的异常回退和 Block 回退。异常回退指的是@SentinelResource 注解标注的方法发生 Java 异常时的回退处理;Block 回退指的是当@SentinelResource 资源访问不符合 Sentinel 控制台定义的规则时的回退(默认返回 Blocked by Sentinel (flow limiting))。

2.框架的搭建

  • 我们将搭建如图所示的测试框架:
    *

2.1 搭建 sentinel-example

  • 我们将在 sentinel-example 里面演示所有@SentinelResource 的的功能
2.1.1 使用 IDEA 创建一个 Maven 项目

*

  • 选择 Maven 项目:
    *
  • 点击 Next,填写以下的内容:
    *
  • Parent:选择 spring-cloud-alibaba-example
  • Name:sentinel-example
  • 点击 Finish,完成创建
2.1.2 添加依赖
<dependencies> 
	<dependency> 
		<groupId>org.springframework.boot</groupId> 
		<artifactId>spring-boot-starter-web</artifactId> 
	</dependency> 
	<dependency> 
		<groupId>com.alibaba.cloud</groupId> 
		<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId> 
	</dependency> 
</dependencies>

  • Spring-boot-stater-web 是开发 web 最基础的依赖;
  • spring-cloud-alibaba-nacos-discovery 是服务的发现组件
2.1.3 修改项目的打包方式
<packaging>pom</packaging>

2.1.4 完整的 pom.xml 文件如下
<?xml version="1.0" enco