目录
我这边使用ahas的时候,主要用到的功能是
1,流量防护
2,功能开关(类似于 appollo , nacos 配置中心)
官网地址
https://ahas.console.aliyun.com/
流量防护
https://help.aliyun.com/document_detail/110599.html?spm=a2c4g.11186623.6.571.6c1a3be2mxjCMe
点击新应用接入,根据提示也可以快速的入门
这个文档做的还是很用心的,在切换服务器所在的地方(公网,杭州,上海)后 配置启动参数会自动的进行切换,根据这个步骤完全可以完成 应用服务的接入,唯一的问题是,pom依赖下载的时候有可能下载不下来,这个时候切换版本试试,或者查看 maven 中的 dependencies是该依赖的子依赖下载不下来,还是本身拉不下来
埋点这里介绍了4中方式,可以详细的看一下文档的介绍
pom依赖
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
<version>1.9.0</version>
<exclusions>
<exclusion>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
</exclusion>
</exclusions>
</dependency>
配置文件
随便的调用服务中的某一个接口,ahas 会收集数据,然后通过图表进行展示
功能开关
每次登陆后首次进入功能开关的时候,会有提示信息,根据提示信息进行服务的接入,能够正常的使用
pom依赖
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-yaml</artifactId>
<version>2.12.4</version>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>spring-boot-starter-ahas-switch-client</artifactId>
<version>1.0.7</version>
</dependency>
帮助文档
点击 新应用接入 会有详细的文档指导 ,切换不同的环境 和 服务器区域,文档内容会进行相应的变化,根据文档可以顺利的进行接入
开关配置class
/**
* Created by yangLongFei on 2021/7/23 18:51
* Version: $
*/
@Switch
@NameSpace(nameSpace = "com.sys.yang.config.ahas.SwitchConfig")
public class SwitchConfig {
@AppSwitch(des = "测试ahas", level = com.taobao.csp.switchcenter.bean.Switch.Level.p1, callback = TestCallback.class)
public static boolean test_switch = false;
}
配置回调class
在管理页面对 开关进行修改后,会触发指定的回调接口,做出相应的操作
import com.taobao.csp.switchcenter.core.SwitchCallback;
/**
* Created by yangLongFei on 2021/7/23 19:09
* Version: $
*/
public class TestCallback implements SwitchCallback {
@Override
public void excute(String nameSpace, String name, String value) {
// TODO Auto-generated method stub
System.out.println(nameSpace + " , " + name + " , " + value + " - this is callBack ");
}
}
开关使用
直接获取 开关类 中的属性,进行相应的逻辑操作
if (SwitchConfig.test_switch) {
System.out.println(SwitchConfig.test_switch + " : " + new Date() + " : " + captchaCode);
} else {
// 图片编码
System.out.println(SwitchConfig.test_switch + " : " + System.currentTimeMillis() + " : "+ captchaCode);
}