2021-01-24

Sentinel

  • 简介
    • 他可以做什么
    • 他是谁开发的
  • 集成 Sentinel
    • Pom
    • Java 类 config
    • application.propertier 配置
  • 安装 Sentinel 的 Dashboard
    • jar 的 启动
  • 如何使用
    • 注解使用
    • try 代码块的使用
    • 链路使用
    • 开启对 feign

简介

在这里插入图片描述

Spring Cloud Alibaba 的一个组件,支持对服务的熔断限流
sentinel 是阿里巴巴的一个开源 cloud 的解决方案方案中的熔断和限流组件。

集成 Sentinel

先引入POM文件

<!-- Sentinel -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

Java 类 config

/**
 * 配置 Sentinel 的统一返回格式
**/
@Configuration
class MySentinelConfig {
    public MySentinelConfig() {
        WebCallBackManager.setUrlBlockHandler((request, response, e) -> {
            // 设置响应的编码格式
           response.setCharacterEncoding("UTF-8");
            // 设置响应的数据类型格式
           response.setContentType("application/json");
            // 设置响应的内容
           response.getWrite().write(JSON.toJSONstring(R.error(ErrorCodeNum.TOO_MANY_REQUEST.getCODE(), ErrorCodeNum.TOO_MANY_REQUEST.getDESC())));
        });
    }
}

application.properties 的配置

# sentinel 的端口配置
spring.cloud.sentinel.transport.port=8719
# sentinel 的控制台的路径配置
spring.cloud.sentinel.transport.dashboard=127.0.0.1:8333
# 为了让 Sentinel 的 dashboard 显示实时数据需要开启这个
management.endpoints.web.exposure.include=*

Sentinel Dashboard

下载 Sentinel Dashboard

首先要找到自己的引入的 sentinel 的版本是多少然后去 Github 下载

在这里插入图片描述

我这边的是Sentinel的1.6.3所以去下载响应的版本即可

https://github.com/alibaba/Sentinel/releases 找到自己的版本去下载即可

启动 Dashboard

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SAWqgVrJ-1611481809250)(C:\Users\L\AppData\Roaming\Typora\typora-user-images\image-20210124145958102.png)]

# 我这边由于 8080 端口被占用。所以从新设置了启动端口为8333
java -jar java -jar sentinel-dashboard-1.7.1.jar --server.port=8333

如何使用

其实当我们配置好上面这些的时候我们就可以正常启动和使用了。但是他还又其他的使用方式

  • 注解、代码快

代码块的方式

try(Entry entry = SphU.entry("resourcesName")) {
    // TODO 你的资源代码【被保护的业务逻辑】
} cache (BlockException e) {
    // 资源访问阻止,被限流或被降级
  	// 在此处进行相应的处理操作
}

注解的方式

// 原本的业务方法.
@SentinelResource(blockHandler = "blockHandlerForGetUser")
public User getUserById(String id) {
    throw new RuntimeException("getUserById command failed");
}

// blockHandler 函数,原方法调用被限流/降级/系统保护的时候调用
public User blockHandlerForGetUser(String id, BlockException ex) {
    return new User("admin");
}

对 feign 的支持

feign.sentinel.enabled=true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注:请在所有本程序时先到后台栏目管理里面设定会员在线时间,否者会员登陆时要出错 安装使用说明: 1、修改index/articleconn.asp、admin/articleconn.asp、lanserver/conn.asp和 user/conn.asp 文件里的数据库连接参数 2、将所有文件上传至你的主机上,然后运行index.html即可(里面带2个插件)! 3、后台登录地址:你的域名/admin/login.asp 登录名admin和密码均admin888 4、要使用邮件发送功能请修改sendmail.asp文件,修改的地方有: __________________________________________________________ 找到以下代码,改相应的参数即可:(此功能需服务器支持:JMAIL系统) smtpserver ="邮局服务器地址(IP)" smtpuser ="你的EMAIL登录帐号(如:webmaster@tx38.com)" smtppwd ="你的EMAIL登录密码" __________________________________________________________ 5、要改首页的模板找到admin/index_mb.asp,用网页编辑器编辑就行,最新电影JS 请找到admin/js_news.asp,把里面我的地址改成你的地址。 6、如果有会员在会员期没到时又想升级另下订单的话,请直接修改会员个人资料里的“付款状态”   将里面的数字清空即可再次提交订单了,这里的数字说明如下:  付款状态=" "(空)  即未提交订单  付款状态=0   提交了订单,但未得到确认(不能再提交了)  付款状态=1       提交了订单,并已得到确认(不能再提交了) 8、网站广告请修改ad/js目录下的1.js,2.js,3.js,4.js。 ***********************************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值