我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Sentinel 整合SpringCloud的详细教程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Sentinel 整合SpringCloud的详细教程

Spring Cloud Alibaba Sentinel 是阿里巴巴提供的,致力于提供微服务一站式解决方案,Spring Cloud Alibaba 默认为 Sentinel 整合了,ServeLet、RestTemplate、FeignClient 和 Spring Flux。在 Spring 的生态中不仅不全了 Hystrix 在 ServeLet 和 RestTemplate 这一块的空白,而且还完美的兼容了 Hystrix 在 Feign 中的限流降级用法,并支持运行时灵活的配置和调整限流降级规则。

引入依赖:


<!--Sentinel 整合SpringCloud 的依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-sentinel</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>

配置文件:

(入门使用中,应用名称使用的 JVM 参数设置的,整合 SpringCloud 就不需要那样了,配置文件中配置了应用的名称后,Sentinel 会自动加载)


# 设置应用的名称
spring:
  application:
    name: springCloudSentinel
  cloud:
    sentinel:
      transport:
 
        #设置Sentinel控制台的主机地址和端口号
        dashboard: localhost:9000

编写测试 Controller ,控制台添加 Sentinel_Cloud 资源 限流测试


@SentinelResource(value = "Sentinel_Cloud",blockHandler = "exceptionHandler")
@GetMapping("/sentinelCloud")
public String sentinelCloud(){
    //使用限流规则
    return "Sentinel_Cloud,成功调用";
}

限流时调用的方法:



public String exceptionHandler(BlockException exception) {
    exception.printStackTrace();
    return "Sentinel_Cloud,访问限流";
}

Sentinel整合Feign (OpenFeign)

Sentinel适配了Feign组件。如果想要使用,除了引用spring-cloud-starter-alibaba-sentinel的依赖,还需要两个步骤:

配置打开Sentinel对Feign的支持:feign.sentinel.enable=true

加入spring-cloud-starter-openfeign依赖使Sentinel starter自动化配置类生效。


# 设置应用的名称
spring:
  application:
    name: springCloudSentinel
  cloud:
    sentinel:
      transport:
 
        #设置Sentinel控制台的主机地址和端口号
        dashboard: localhost:9000
 
# 开启 Sentinel 对 Feign 的支持
feign:
  sentinel:
    enabled: true

服务端调用方Controller


@GetMapping("/feignHello")
public String feignHello(){
    return feignClient.feignHello();
}

服务提供方 FeignClient


@FeignClient(contextId = "testFeignClient", value = "注册中心中服务的名称", fallback = FeignFallbackService.class)
public interface TestFeignClient {
 
   
   @GetMapping("/test/feignHello")
   String feignHello();
}

提供一个 FeignClient 接口的实现类,作为限流的处理方法


@Service
public class FeignFallbackService  implements TestFeignClient{
   @Override
   public String feignHello() {
      return "Feign 远程调用限流了";
   }
}

Sentinel 控制台添加限流规则:

请求方式:http://服务模块注册中心名称/test/feignHello

到此这篇关于Sentinel 之 整合SpringCloud的文章就介绍到这了,更多相关Sentinel 整合SpringCloud内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Sentinel 整合SpringCloud的详细教程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot整合Zookeeper详细教程

Curator是Netflix公司开源的⼀套zookeeper客户端框架,Curator是对Zookeeper⽀持最好的客户端框架。Curator封装了⼤部分Zookeeper的功能,⽐如Leader选举、分布式锁等,减少了技术⼈员在使⽤Zookeeper时的底层细节开发⼯作
2022-12-23

PHPCMS v9.5.6整合UEditer1.4.3详细教程

首先去UEditor官网下载所需对应版本:http://ueditor.baidu.com/website/download.html 这里以1.4.3 php 版本,UTF-8版 为例=> 1. 将所下载的程序包解压,得到程序包目录,将程
2022-06-12

基于SpringBoot整合SSMP的详细教程

这篇文章主要介绍了SpringBoot整合SSMP的详细教程,通过本文学习基于SpringBoot实现SSMP整合的详细代码,需要的朋友可以参考下
2022-11-13

Spring+SpringMVC+MyBatis整合详细教程(SSM)

使用SSM(Spring、SpringMVC和Mybatis)已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方。之前没有记录SSM整合的过程,这次刚刚好基于自己的一个小项目重
2023-05-31

springcloud-gateway整合jwt+jcasbin实现权限控制的详细过程

这篇文章主要介绍了springcloud-gateway整合jwt+jcasbin实现权限控制,基于springboot+springcloud+nacos的简单分布式项目,项目交互采用openFeign框架,单独提取出来成为一个独立的model,需要的朋友可以参考下
2023-02-07

Spring Cloud Alibaba 整合Nacos的详细使用教程

Spring Cloud Alibaba提供了越来越完善的各类微服务治理组件,比如分布式服务配置与注册中心nacos,服务限流、熔断组件sentinel等,本篇先来介绍nacos的详细使用,需要的朋友可以参考下
2023-03-13

springcloud alibaba nacos linux配置的详细教程

首先从github上下载nacos的压缩包:https://github.com/alibaba/nacos/releases下载完成之后,通过WinSCP把文件传到linux服务器上 接着通过tar -zxvf命令将此压缩包解压解压完成之
2022-06-03

SpringBoot整合RocketMQ的详细过程

这篇文章主要介绍了SpringBoot整合RocketMQ的详细过程,本文分为三部分,第一部分实现SpringBoot与RocketMQ的整合,第二部分解决在使用RocketMQ过程中可能遇到的一些问题并解决他们,第三部分介绍如何封装RocketMQ以便更好地使用,需要的朋友可以参考下
2023-05-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录