sentinel分布式系统的流量防卫兵
首先在根目录下开启cmd黑窗口启用jar文件
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar xxxxx.jar
1.添加依赖
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>
2.书写配置文件
3.代码
4.
运行成功后
在sentinel的界面上就会看到如下图所示,点击流控 点击新增之后,继续访问页面同时点击多次就会出现熔断,这个垄断是我们在后台写的
blockHandlerMethod方法里
点击降级
降级是通常是为异常设置的,设置好降级之后,一般我们要删除流控设置的东西。要不然时间间隔效果看不出来。设置id为1的时候出现异常
多次访问id为1就会出现下图所示
设置id为2的不是异常,没过间隔30秒访问id为2也会出现
过了30秒之后才会成功访问
程序运行自动设置限流或者降级
RestTemplate支持 ,只要是用到RestTemplate类,sentinel会自动加到簇点链路上
和下图对应
步骤如下:
1.创建ExceptionUtil类
注意:不要导错包,容易找不到类
package com.yh.util;import com.alibaba.cloud.sentinel.rest.SentinelClientHttpResponse;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import com.alibaba.fastjson.JSON;
import com.yh.entry.ShopProduct;
import org.springframework.http.HttpRequest;
import org.springframework.http.client.ClientHttpRequestExecution;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.stereotype.Component;/*** @program: springcloud-parent* @description: s** @create: 2021-07-15 16:26**/@Component
public class ExceptionUtil {public static ClientHttpResponse fallback(HttpRequest request, byte[] body, ClientHttpRequestExecution execution, BlockException exception){return new SentinelClientHttpResponse(JSON.toJSONString(new ShopProduct(1l,"服务流量控制兜底的数据",5555.0,1000l)));}public static ClientHttpResponse handlerException(HttpRequest request,byte[] body, ClientHttpRequestExecution execution, BlockException exception){return new SentinelClientHttpResponse(JSON.toJSONString(new ShopProduct(1l,"熔断降级控制兜底的数据",5555.0,1000l)));}}
在主启动类上加上注解,方法名要和创建的 ExceptionUti的方法名字一致
openfeign的支持
在配置里多加3行代码,是openfeign让sentinel管理所需要的
创建一个实现类继承所需要的openfeign的方法
openfeign的接口
实现类
运行成功后如下图所示
当设置降级或者流控之后进行操作如下图所示
sentinel分布式系统的流量防卫兵相关推荐
- 介绍 spring Alibaba Sentinel: 分布式系统的流量防卫兵
目录 一.Sentinel 是什么? 二.Sentinel 具有特征 三.下载和安装 一.Sentinel 是什么? Sentinel 是分布式系统的流量防卫兵,Sentinel 以流量为切入点,从流 ...
- Sentinel: 分布式系统的流量防卫兵
前言 在 Spring Cloud 体系中,熔断降级我们会使用 Hystrix 框架,限流通常会在 Zuul 中进行处理,Zuul 中没有自带限流的功能,我们可以自己做限流或者集成第三方开源的限流框架 ...
- Sentinel: 分布式系统的流量防卫兵 1
Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性. Sentinel ...
- Sentinel 分布式系统的流量防卫兵
sentinel sentinel base 服务编写 关键名词解释 sentinel base 官网: https://github.com/alibaba/Sentinel https://git ...
- SpringCloud(十二)SpringCloudAlibaba Sentinel 分布式系统的流量防卫兵
文章目录 一.Sentinel是什么? 1.1 Sentinel 具有 以下特性 二.Sentinel 使用 2.1 Sentinel 安装. 2.2 创建 `sgg-alibaba-sentinel ...
- 分布式系统的流量防卫兵Sentinel-入门指南
1.介绍 欢迎来到 Sentinel 的世界!这篇新手指南将指引您快速入门 Sentinel. Sentinel: 分布式系统的流量防卫兵 1.1 Sentinel 是什么? 随着微服务的流行,服务和 ...
- 3 - 分布式系统的流量防卫兵:Sentinel
Java工程师的进阶之旅 学习 SpringCloud2 这一篇就够了 1 - SpringCloud Alibaba 介绍 2 - 服务注册与配置中心:Nacos 3 - 分布式系统的流量防卫兵:S ...
- 详解sentinel:分布式系统的流量防卫兵
目录 sentinel是什么 sentinel具有以下特征 丰富的应用场景 完备的实时监控 广泛的开源生态 完善的SPI扩展点 sentinel的主要特性 下载安装 控制台 应用接入 pom文件 ap ...
- Sentinel:分布式系统的流量防卫兵 | Spring Cloud 19
一.Sentinel 是什么? 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 以流量为切入点,从流量控制.流量路由.熔断降级.系统自适应过载保护.热点流量防护等多个维度保护 ...
最新文章
- 与 SENet 互补提升,华为提出自注意力新机制:Weight Excitation
- 解析《中国互联网软件测试行业2018年度调研报告》
- (多线程)leetcode1114. 按序打印 认识AtomicInteger
- 在“BROWSEINFO”产生的“浏览文件夹”对话框中加入“新建文件夹”按钮
- Python学习之路day3-文件操作
- 转:数据包经由路由转发时源、目的IP地址及MAC地址变化情况
- C#调用存储过程,并且获得返回值和OutPut字符串
- linux was8.5 无法启动wct.sh,WebSphere(was8.5) 在linux集群安装及部署.docx
- 2012年7月份第2周51Aspx源码发布详情
- 复联4里的钢铁侠原型是谁?(剧透警告慎入)
- python数据分析怎么画_跟小白学Python数据分析——绘制维恩图
- 【微信公众号发红包转账】微信公众号上手机网页接收请求,通过公众号给用户发红包 开发流程...
- No module named ‘quantopian‘
- python输入班级姓名_python,寻找班级里面名字最长的人
- Fragment Transactions Activity State Loss
- WebMatrix进阶教程(1):如何安装和使用微软全新开发工具WebMatrix
- 博客园自定义样式主题 -- cnblogs theme
- Whoosh:Python 的轻量级搜索工具
- win10下编译安装ncnn
- matlab导入数据后画图_visio结合matlab画图