前期準備
能正常啟動的springboot項目
使用的中間件:HSF、edas-config-center
配置AHAS
1. 在項目的springboot中 添加jar包依賴
Pom
<!-- AHAS start-->
<!-- 應用接入控制台 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>ahas-sentinel-client</artifactId>
<!-- 可指定版本号,最新版本見 AHAS 控制台流控降級應用接入頁引導。 最新1.4.5-->
<version>1.4.5</version>
</dependency>
<!-- 啟動方式①用JVM -D 參數啟動 -->
<!-- 啟動方式②用properties配置檔案啟動,需要引入此jar -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
<!-- 可指定版本号,最新版本見 AHAS 控制台流控降級應用接入頁引導。 最新1.4.0-->
<version>1.4.0</version>
</dependency>
<!-- 使用注解@SentinelResource進行埋點 ,需要先引入 Spring AOP 并開啟 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- 添加sentinel的依賴 -->
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-annotation-aspectj</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
</dependency>
<!-- AHAS end-->
相關介紹
ahas-sentinel-client | 相關springboot項目接入AHAS控制台的核心jar |
spring-boot-starter-ahas-sentinel-client | 使用applicaton.properties來配置屬性,需添加此jar |
spring-boot-starter-aop | 使用注解@SentinelResource進行埋點 ,需要先引入 Spring AOP 并開啟 |
sentinel-core | 阿裡給的github示例demo中有引入此jar |
sentinel-annotation-aspectj | |
sentinel-transport-simple-http |
2. 在項目裡添加配置類
@Configuration
public class SentinelAspectConfiguration {
@Bean
public SentinelResourceAspect sentinelResourceAspect() {
return new SentinelResourceAspect();
}
}
3. 在通路接口中使用注解定義埋點
@SentinelResource(value = "queryUserList")//埋點
@RequestMapping(value = "/queryUserList" ,method = RequestMethod.GET )
@ResponseBody
public RspPage<QueryUserRspBo> queryUserList(QueryUserReqBo queryUserReqBo) {
RspPage<QueryUserRspBo> rspPage = null;
try {
rspPage = queryUserListService.queryListPage(queryUserReqBo);
}
catch (Exception e){
log.error("失敗了:{}", e.getMessage());
}
return rspPage;
}
4. 添加配置檔案
application.properties
#AHAS
#指定您要接入的特定的 AHAS 環境
ahas.namespace=default
#自定義您的應用名稱
project.name=admin
#配置 license 資訊
ahas.license=XXXXXXXXXXXX
此處使用配置檔案來填寫配置資訊,注意是在引入相關jar的前提下。
還可使用JVM 參數的方式來配置
-Dproject.name=AppName
-Dahas.license=<license>
關于license 的擷取,檢視下面的步驟
5. 啟動項目
配置阿裡雲控制台
1. 免費開通,ASAH的服務
https://www.aliyun.com/product/ahas?spm=a2c4g.11186623.2.9.6f4b3cbb7hGV9e
2. 将區域切換為 公網,擷取license
點選 新應用接入
點選SDK,即可看到系統自動建立的license
3. 調用一次@SentinelResource 的接口,即可在頁面看到springboot項目
4. 添加相關的限流規則
點選 應用名 admin
再點選【流控規則】
點選
填寫相關資訊,資源名稱 對應 @SentinelResource 定義的value值
5. 啟用規則,OK完成
還需了解其他相關資訊,可參考其他部落格:
https://blog.csdn.net/hosaos/article/details/91413895