返回顶部
首页 > 资讯 > 后端开发 > Python >springcloud3Sentinel的搭建及案例操作方法
  • 713
分享到

springcloud3Sentinel的搭建及案例操作方法

springcloud3Sentinel搭建springcloudSentinel 2023-01-28 15:01:05 713人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一 sentinel的概念1.1 sentinel二 sentinel的安装2.1 sentinel的安装三   sentinel的各种用途3.1 实时监控3

一 sentinel的概念

1.1 sentinel

Sentinel是分布式系统流量控制的哨兵,阿里开源的一套服务容错的综合性解决方案。

主要用来处理:

服务降级

服务熔断

超时处理

流量控制

sentinel 的使用可以分为两个部分:

核心库(Java 客户端):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 dubbo / spring cloud 等框架也有较好的支持。

控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。基于 Spring Boot 开发,打包后可以直接运行。

二 sentinel的安装

2.1 sentinel的安装

中文文档:

quick-start | Sentinel

程序包下载:

Releases · alibaba/Sentinel · GitHub

启动jar

F:\>java -jar sentinel-dashboard-1.7.2.jar

页面访问: sentinel /  sentinel

输入地址: Http://localhost:8080/

三   sentinel的各种用途

3.1 实时监控

3.1.1 架构图

3.1.2 sentinel消费项目

1.pom

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13</version>
      <scope>test</scope>
    </dependency>
    <!--SpringCloud ailibaba Nacos -->
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>2021.1</version>
    </dependency>
    <!--SprinGCloud ailibaba sentinel-datasource-nacos 后续做持久化用到-->
    <dependency>
      <groupId>com.alibaba.csp</groupId>
      <artifactId>sentinel-datasource-nacos</artifactId>
      <version>1.5.2</version>
    </dependency>
    <!--SpringCloud ailibaba sentinel -->
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
      <version>2021.1</version>
    </dependency>
    <!--openfeign-->
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>
    <!-- SpringBoot整合WEB组件+actuator -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <!--日常通用jar包配置-->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>4.6.3</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

2.application配置文件

server:
  port: 7005
 
spring:
  application:
    name: mscloud-sentinel-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
    sentinel:
      transport:
        dashboard: localhost:8080 #配置Sentinel dashboard地址
        port: 8719
 
management:
  endpoints:
    web:
      exposure:
        include: '*'

3.业务类

@RestController
@Slf4j
public class DataLimitController {
        @GetMapping("/testA")
        public String testA()
        {
            return "------testA";
        }
 
        @GetMapping("/testB")
        public String testB()
        {
            log.info(Thread.currentThread().getName()+"\t"+"...testB");
            return "------testB";
        }
}

4.启动类

@EnableDiscoveryClient
@SpringBootApplication
public class App 
{
    public static void main( String[] args )
 
    {
        SpringApplication.run(App.class, args);
    }
}

3.1.3 操作

1.启动nacos

2.启动sentinel服务

 3.启动sentinel消费服务

 3.1.4 进行监控访问

访问地址: http://localhost:7005/testA      多次刷新访问几次

 2.查看监控

访问地址: http://localhost:7005/testB      多次刷新访问几次

3.2 流量控制

3.2.1 qps+阈值进行限流

1.查看资源,针对资源进行流控

 2.设置配置

1秒钟qps的阈值为3,一秒钟请求大于3,则容错提示。

 联系请求大于3次,则 给出如下提示:

 3.2.2 线程数+阈值进行限流

当线程数达到阈值后,进行限流提示。

1.设置

2.访问验证

 3.2.3 线程数+阈值+关联进行限流

1.通过资源A关联的资源B,资源B发生qps超过规定的阈值,则导致资源A进行限流提示。

2.设置

 3.postman定时这是

4.查看访问资源A:http://localhost:7005/testA

 3.2.4 线程数+阈值+关联+预热进行限流

1.说明:

默认的colorfactor为3,QPS是从(threshold/3)开始,即

系统初始化的阈值为:12/3约等于4,,即阈值初始化为4,经过5秒后阈值才升到设定的12.

2.配置

3.访问

前5秒,不停刷新会提示限流信息,

 5秒过后,不停刷新(手工不停刷新达不到设定的阈值12),所以不再限流

 3.2.5 线程数+阈值+排队等待进行限流

1.说明

匀速排队:让请求以均匀的速度通过,阈值类型必须设置成QPS,否则无效。

设置含义:/testB 每秒3次请求,超过阈值后就进行排队,等待大于20秒则满足超时时间,进行请求。

2.配置

 3.查看效果

到此这篇关于springcloud3 Sentinel的搭建以及案例操作的文章就介绍到这了,更多相关springcloud3 Sentinel搭建内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: springcloud3Sentinel的搭建及案例操作方法

本文链接: https://lsjlt.com/news/178535.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springcloud3Sentinel的搭建及案例操作方法
    目录一 sentinel的概念1.1 sentinel二 sentinel的安装2.1 sentinel的安装三   sentinel的各种用途3.1 实时监控3...
    99+
    2023-01-28
    springcloud3 Sentinel搭建 springcloud Sentinel
  • linux中如何搭建solr的操作方法
    这篇文章主要介绍了linux中如何搭建solr的操作方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境centos7 及最新版本solr7先在/usr/local下mkd...
    99+
    2023-06-09
  • Vuex的安装、搭建及案例详解
    目录前言Vuex原理讲解 1、安装vuex组件2、使用Vuex求和案例Coute.vuestore.jsActions Mutationsgetters的使用:s...
    99+
    2024-04-02
  • 详解pytest+Allure搭建方法以及生成报告常用操作
    目录一、Allure搭建1、下载Allure安装包 2、安装allure-pytest库 3、配置allure环境变量 4、检验allure安装成功 二、allure生成报告代码1、...
    99+
    2024-04-02
  • GO文件创建及读写操作的方法
    本文小编为大家详细介绍“GO文件创建及读写操作的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“GO文件创建及读写操作的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。三种文件操作比较ioutilbufio...
    99+
    2023-06-30
  • Zookeeper集群搭建以及python操作zk
    ZooKeeper是一个开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper设计目的最终一致性:client不论连接到那个Server,展示给它的都是同一个...
    99+
    2023-01-31
    集群 操作 Zookeeper
  • Redis的概念及搭建方法
    这篇文章主要讲解了“Redis的概念及搭建方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis的概念及搭建方法”吧! Redis 简介什么...
    99+
    2024-04-02
  • Nginx+Windows搭建域名访问环境的操作方法
    目录一、修改 Windows hosts 文件二、Nginx 配置文件三、分析Nginx配置文件四、gulimall.conf4.1 查看Windows ip4.2 配置代理五、图示...
    99+
    2024-04-02
  • PHP Linux脚本操作案例分享:快速搭建Web服务器
    概述:在互联网时代,搭建一个稳定高效的Web服务器对于企业和个人来说至关重要。PHP是一种功能强大的开发语言,而Linux作为高性能的操作系统,能够提供稳定的服务器环境。本文将分享一些基于PHP和Linux的脚本操作案例,帮助读者快速搭建W...
    99+
    2023-10-21
    Linux PHP 脚本操作
  • mysql 8.0.18 mgr搭建及其切换功能的案例
    这篇文章将为大家详细讲解有关mysql 8.0.18 mgr搭建及其切换功能的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、系统安装包yum -y&nb...
    99+
    2024-04-02
  • php操作redis的案例
    这篇文章给大家分享的是有关php操作redis的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合...
    99+
    2024-04-02
  • Pandas中Series的属性,方法,常用操作使用案例
    目录1. Series 对象的创建1.1 创建一个空的 Series 对象1.2 通过列表创建一个 Series 对象1.3 通过元组创建一个 Series 对象1.4 通过字典创建...
    99+
    2024-04-02
  • ThreadLocal工作原理及用法案例
    目录ThreadLocal是什么ThreadLocal原理ThreadLocal内存泄漏问题关于InheritableThreadLocal代码示例ThreadLocal使用Inhe...
    99+
    2024-04-02
  • python实操方法案例分析
    本篇内容介绍了“python实操方法案例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!任务1、我的咖啡馆你做主元组coffee_name...
    99+
    2023-06-29
  • xshell搭建mysql的操作步骤
    这篇文章给大家分享的是有关xshell搭建mysql的操作步骤的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。xshell搭建mysql的方法:首先进行repo的安装;然后启动my...
    99+
    2024-04-02
  • node.js express安装及示例网站搭建方法(分享)
    1.首先肯定是要安装Node.JS windows cmd依次输入如下命令: cd C:Program Filesnodejs npm install -g express npm install -g e...
    99+
    2022-06-04
    示例 方法 网站
  • navicat建立外键的操作方法
    这篇文章主要介绍了navicat建立外键的操作方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  数据库外键表示了两个关系之间的相关联系。...
    99+
    2024-04-02
  • navicat创建视图的操作方法
    小编给大家分享一下navicat创建视图的操作方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!打开navicat for mysql软件之后打开相应的数据库。然后点击视图。点击新建视图。这里...
    99+
    2024-04-02
  • 使用Docker Swarm搭建Wordpress的案例
    小编给大家分享一下使用Docker Swarm搭建Wordpress的案例,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用 Docker Swarm 搭建 Wordpress起因我曾经把 wordpress 搭建在 Vu...
    99+
    2023-06-14
  • phpmyadmin操作数据库的案例
    这篇文章主要介绍了phpmyadmin操作数据库的案例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。phpmyadmin怎么操作数据库?ph...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作