將MyBatis應用接入AHAS應用防護后,可以對其配置流控、降級和系統規則來保證系統穩定性。本文介紹使用SDK方式將MyBatis應用接入應用防護。
操作步驟
登錄AHAS控制臺。
在AHAS控制臺左上角,選擇應用接入的地域。
在控制臺左側導航欄中選擇
。在應用防護頁面左上角單擊新應用接入。
在JAVA語言頁簽,單擊SDK接入,然后單擊Spring Boot應用接入。
通過以下任意一種方式,為應用添加依賴。
方式一:在Pom文件中添加依賴:
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>spring-boot-starter-ahas-sentinel-client</artifactId> <!-- 可指定版本號,最新版本見AHAS控制臺應用防護應用接入頁。 --> <version>x.y.z</version> </dependency>
在Spring Boot應用接入頁面第一步:添加Pom依賴中查看Pom依賴最新版本,將
x.y.z
替換為新版本的版本號。方式二:添加JAR包依賴。
解壓依賴包,并將依賴包中的所有JAR包放置在classpath下。
添加攔截器。
若您使用了MyBatis Spring Boot Starter,則引入AHAS依賴后會自動接入(需要spring-boot-starter-ahas-sentinel-client 1.5.1及以上版本)。
若您未使用MyBatis Spring Boot Starter,則需在MyBatis應用的XML配置文件中引入SentinelMyBatisMapperInterceptor攔截器依賴:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <plugins> <!-- 引入AHAS Sentinel攔截器 --> <plugin interceptor="com.alibaba.csp.sentinel.adapter.mybatis.SentinelMyBatisMapperInterceptor"/> </plugins> </configuration>
通過以下任意一種方式,配置應用的啟動參數。
添加JVM -D參數。
類別
配置參數示例
非公網
-Dproject.name=AppName -Dahas.namespace=default -Dahas.regionId=<RegionId>
說明將AppName替換為自定義的應用名稱。
將<RegionId>替換應用所在地域,地域與RegionId對應表請參見下文地域與RegionId對應表。
公網
-Dproject.name=AppName -Dahas.license=<license> -Dahas.namespace=default -Dahas.regionId=cn-public
說明將AppName替換為自定義的應用名稱,將<license>替換為真實值。
在application.properties文件中添加以下內容:
類別
示例
非公網
#指定您要接入的特定的AHAS環境。
ahas.namespace=default
#自定義您的應用名稱。
project.name=AppName
#填寫應用所在地域。
ahas.regionId=<RegionId>
說明將<RegionId>替換應用所在地域,地域與RegionId對應表請參見下文地域與RegionId對應表。
公網
#指定您要接入的特定的AHAS環境。
ahas.namespace=default
#自定義您的應用名稱。
project.name=AppName
#配置license信息。
ahas.license=<license>
-
ahas.regionId=cn-public
若在公網地域,需要查看License信息。請在Spring Boot應用接入頁面查看(非公網地域不需要),具體請參見查看License。
結果驗證
登錄AHAS控制臺,在左側導航欄選擇 ,若在應用防護頁面出現該應用的資源卡片且有數據上報,則說明接入成功。
地域與RegionId對應表
地域 | RegionId |
公網 | cn-public |
華東1(杭州) | cn-hangzhou |
華東2(上海) | cn-shanghai |
華北2(北京) | cn-beijing |
華北3(張家口) | cn-zhangjiakou |
華南1(深圳) | cn-shenzhen |
新加坡 | ap-southeast-1 |
德國(法蘭克福) | eu-central-1 |
后續操作
為應用配置流控降級規則請參見以下文檔:
當MyBatis應用觸發配置的流控、降級或系統保護規則時,會拋出MyBatisSentinelBlockException
類型的異常,您可以自行捕獲該異常并進行處理。