Sentinel规则持久化--阿里云AHAS服务
标签: 微服务 阿里云 分布式 spring boot java
刚开始学习sentinel时,感觉阿里的sentinel是真的爽,但是学着学着发现,当你的服务重启后,配置的规则全都没了;这样一来,重启一次服务配置一次规则,肯定头大,更别说要在生产环境中使用了。
搜集了很多sentinel持久化规则的资料,发现大部分资料介绍持久化有 拉模式, 再就是推模式,优点也有,缺点也有,个人觉得不是特别的友好,生产环境的话,先不说优缺点,改动的地方就特别多,所以不是那么 贴近生产环境。
好在阿里云的AHAS服务,可以托管我们的sentinel配置规则(当然不仅仅这些),接下来简单的介绍下如何接入AHAS服务
登录阿里云AHAS服务
访问 https://www.aliyun.com/product/ahas 并登录
点击开通免费版 并进入控制台
免费版先玩玩吧 哈哈哈
配置应用防护
进入应用
选择公网
查看你的License
接入服务
查看教程
在pom中添加依赖
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
<version>1.6.4</version>
</dependency>
注意 如果引入过sentinel的starter,删除sentinel-starter依赖
添加yml
ahas:
license: 你的license
namespace: default
project:
name: ${spring.application.name} ##自定义,我这里是用的微服务名称
不过,要把之前的sentinel的配置全部注释或者删除
启动你的服务,访问一次你的接口,查看应用防护
点进去,是是监控面板
点击左侧 规则设置,就是我们熟悉的界面了
添加一个流控规则测试下
注意!! 接口名称填写 @SentinelResource的value值才能生效 自定义的 blockHandler和fallbackHandler
我写的接口
@GetMapping("/testA")
@SentinelResource(value = "testA", blockHandler = "testAHandler")
public String testA() {
return "----testA" ;
}
//自定义blockHandler 一定要传入 BlockException 否则不起效
public String testAHandler(BlockException blockException){
return "testA blockException-----" ;
}
当访问我写的接口,QPS > 1时
blockHandler生效,配置完毕
关于fallbackHandler配置不在赘述,再就是降级规则,热点规则,系统规则等,都跟sentinel控制台配置规则差不多,也不在演示了
总之,在生产环境中使用sentinel,把规则托管在阿里云的AHAS服务,效率高也比较方便
智能推荐
Sentinel配置规则持久化
前言 在上一篇,我们讲解了基于springboot与Sentinel的整合与使用,但是有个很明显的问题就是,一旦服务重启,当前配置的针对某个接口的规则就丢掉了,然后就需要重新再配一遍,这就很坑爹了,如果开发中需要配置的接口太多,这样岂不是让人疯掉 因此需要一个地方来保存dashboard中配置的规则,Sentinel提供了多种持久化的方案,可以集成redis,mysql等,这里为了演示方便,而且与...
Python+Selenium+Autolt选择本地文件上传至网站
如果网站有上传文件的功能,selenium不提供对本地元素的定位,如何使用python选择本地文件进行上传呢 可以使用Autolt工具上传文件: 1、下载网址:https://www.autoitscript.com/site/autoit/downloads/ 2、点击“Downlad ZIP”下载 3、解压缩下载的ZIP文件 4、打开脚本编辑器文件夹,有一个SciTE....
数据结构系列之一-线性表
数据结构系列--线性表 慧子和她的3D 慧子和她的3D 暑期工作搞不下去,不如趁着现在整块时间搞编程。学习资料书《大话数据结构》,前面两章的铺垫感性知识,看看过,从第三章开始正餐。 01 — 线性表 线性表:零个或多个数据元素的有限序列。用数学语言表达: ...
Linux系统的远程操作练习
目录 一、将虚拟机Ubuntu系统的网络连接设置为“桥接模式”,并配置Ubuntu的IP、网关参数 二、在win10系统下用putty登录ubuntu系统 三、VNC server VNC viewer 思考 一、将虚拟机Ubuntu系统的网络连接设置为“桥接模式”,并配置Ubuntu的IP、网关参数 1.打开虚拟机,进入设置 点击网络适配器,选择桥...
ORACLE----TimeStamp(时间戳)自动更新
之前对id的自增长进行了设置,原以为时间戳的更新也类似,使用序列之类的,但最终发现跟序列没半毛钱关系。触发器是肯定要用的,但编写脚本也是需要的。 (1)创建触发器 图2中,我们要选择事件(即例子中的INSERT,UPDATE),触发时间(即INSERT,UPDATE事件的前或后,例子中是before),列(例子中为MODIFIED_DATE,为TimeStamp类型),新旧值(为系统默认值OLD和...
猜你喜欢
LeetCode(剑指offer-tree)-面试题26. 树的子结构
输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如: 树的遍历方式为:前序遍历 给定的树 A: 给定的树 B: 返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1: 示例 2: 限制: 题源链接:https://leetcode-cn.com/problems/shu-de-z...
大数据笔记14:Zebra项目分析与实施
第14天——Zebra项目分析与实施 第一部分 Zebra项目概述 一、Zebra项目介绍 二、日志数据结构分析 三、数据以| 分割后,每个数据项的含义 四、Zebra项目整体架构 (一)技术架构 (二)工程架构 五、Zebra业务说明 六、Zebra项目设计思想 第二部分 Zebra项目实施过程 一、创建Maven项目ZebraProject 二、zebra_jobtra...
solr
概述 Solr是基于Lucene(Solr版本基本也是随着Lucene走)开发的一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果.(网上有个solr教...
Paddle2.0-通过DCGAN实现人脸生成
Paddle2.0-通过DCGAN实现人脸图像 本教程将通过一个示例对DCGAN进行介绍。在向其展示许多真实人脸照片(数据集:Celeb-A Face)后,我们将训练一个生成对抗网络(GAN)来产生新人脸。本文将对该实现进行详尽的解释,并阐明此模型的工作方式和原因。并不需要过多专业知识,但是可能需要新手花一些时间来理解的模型训练的实际情况。为了节省时间,请尽量选择GPU进行训练。 1 简介 本项目...
