将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
类型的异常,您可以自行捕获该异常并进行处理。