spring cloud alibaba 之哨兵(sentinel)

sentinel (哨兵) 简介

# 官网
- https://spring-cloud-alibaba-group.github.io/github-pages/hoxton/en-us/index.html#_spring_cloud_alibaba_sentinel
# github
- https://github.com/alibaba/Sentinel/wiki# 简介
- 随着微服务的普及,服务调用的稳定性变得越来越重要。Sentinel以“流量”为切入点,在流量控制、断路、负载保护等多个领域开展业务,保障业务可靠性

linux 搭建 Sentinel Dashboard

  • 下载最新的sentinel jar(sentinel-dashboard-1.8.3.jar)
    https://github.com/alibaba/Sentinel/releases
    在这里插入图片描述

  • sentinel-dashboard启动和停止脚本编写
    # cd /usr/local/mysoft
    # mkdir sentinel
    将sentinel-dashboard-1.8.3.jar上传到目录/usr/local/mysoft/sentinel

    -------------------
    # sentinel-dashboard-1.8.3.jar是一个spring boot应用,可以通过java -jar直接启动(但不能后台运行)
    # java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.3.jar
    -------------------
    # 在目录/usr/local/mysoft/sentinel下,编写启动和停止sentinel dashboard脚本
    # mkdir logs
    # mkdir pid
    # touch startup.sh
    # touch shutdown.sh
    
  • startup.sh脚本

# vim startup.sh# 启动Sentinel Dashboard服务脚本
nohup /usr/local/mysoft/jdk1.8.0_144/bin/java -Dlogging.file=/usr/local/mysoft/sentinel/logs/sentinel-dashboard.log -jar /usr/local/mysoft/sentinel/sentinel-dashboard-1.8.3.jar > /usr/local/mysoft/sentinel/logs/run.out 2>&1 &
echo $! > /usr/local/mysoft/sentinel/pid/runing.pid
  • shutdown.sh脚本
PID=$(cat /usr/local/mysoft/sentinel/pid/runing.pid)
kill -9 $PID
find /usr/local/mysoft/sentinel/pid -name "*.pid" -exec rm -rf {} \;
find /usr/local/mysoft/sentinel/logs -name "*.out" -exec rm -rf {} \;

使用sentinel哨兵

创建一个spring boot服务cloud-04-sentinel

  • 引入依赖
  <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- sentinel(哨兵) 依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency></dependencies>
  • 配置文件
server:port: 9004spring:application:name: SENTINEL# sentinel哨兵配置cloud:sentinel:transport:# 应用与Sentinel控制台交互的端口 port: 8719# dashboard地址dashboard: 192.168.110.66:8080
  • 启动sentinel dashboard
# cd /usr/local/mysoft/sentinel### 使用默认配置,java -jar启动(不能后台运行)
# java -jar sentinel-dashboard-1.8.3.jar### 使用脚本startup.sh启动(后台运行)
# sh startup.sh
  • 启动后,浏览器访问:http://192.168.110.66:8080

  • 用户和密码默认都是:sentinel
    在这里插入图片描述
    在这里插入图片描述

  • 需要调用应用接口,才会有信息
    在这里插入图片描述

  • 刷新sentinel dashboard页面
    在这里插入图片描述

降级规则

资源名:接口路径
阈值类型:QPS:query-per-sencond 每秒查询请求数  并发线程数:每秒发起的并发线程数
单机阈值:每秒限制的最大请求数,超过这个数,就会触发相应的降级规则
流控模式:直接关联链路
流控效果:只有阈值类型为"QPS"才有快速失败:Warm up:排队等待:
  • 流控规则
    图片待补充
    例如阈值类型选的是:QPS,单机阈值为:2,代表每秒请求数超过2个,就会触发流控规则

    • 测试1
      图片待补充
      • 阈值类型(QPS)、单机阈值(2)、流控模式(直接)、流控效果(快速失败)
      • 向接口/sentinel/demo在1秒内连续发送请求,请求次数大于2,触发流控规则
        图片待补充
    • 测试2
      • 阈值类型(QPS)、单机阈值(2)、流控模式(直接)、流控效果(快速失败)
      • 向接口/sentinel/test在1秒内连续发送请求,请求次数大于2,触发流控规则,此时再访问/sentinel/demo时不可用
        图片待补充

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/180018.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

泛微E9,独立选择框对应数据库表查询

泛微E9&#xff0c;独立选择框对应数据库表查询 文章目录 泛微E9&#xff0c;独立选择框对应数据库表查询步骤一&#xff1a;准备姓名、姓名文本字段&#xff1a;步骤二&#xff1a;获取选择框字段的id&#xff1a;其他 需求描述&#xff1a;假如流程表单有两个字段&#xff0c…

算法-双指针-简单-移动零

记录一下算法题的学习2 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2…

【LeetCode刷题-滑动窗口】--1423.可获得的最大点数

1423.可获得的最大点数 思路&#xff1a; 数组cardPoints的长度为n&#xff0c;由于只能从开头和末尾拿k张卡牌&#xff0c;所以最后剩下的必然是连续的n-k张卡牌&#xff0c;可以通过求出剩余卡牌点数之和的最小值&#xff0c;来求出拿走卡牌点数之和的最大值 算法&#xff…

上位机模块之圆形测量,基于halcon的二次开发

夸克网盘可自取。链接&#xff1a;https://pan.quark.cn/s/ac192950e051 //在此之前可以先浏览2篇博客&#xff0c;分别是序列化与反序列化和ROI绘制获取 https://blog.csdn.net/m0_51559565/article/details/134422834 //序列化与反序列化 https://blog.csdn.net/m0_51559565…

(论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking

文献阅读笔记&#xff08;分层卷积特征&#xff09; 简介 题目 Hierarchical Convolutional Features for Visual Tracking 作者 Chao Ma, Jia-Bin Huang, Xiaokang Yang and Ming-Hsuan Yang 原文链接 arxiv.org/pdf/1707.03816.pdf 关键词 Hierarchical convolution…

ubuntu上如何移植thttpd

thttpd的特点 thttpd 是一个简单、小巧、便携、快速且安全的 HTTP 服务器。 简单&#xff1a; 它只处理实现 HTTP/1.1 所需的最低限度。好吧&#xff0c;也许比最低限度多一点。 小&#xff1a; 请参阅比较图表。它还具有非常小的运行时大小&#xff0c;因为它不会分叉并且非…

一道 python 数据分析的题目

python 数据分析的题目。 做题方法&#xff1a;使用 pandas 读取数据&#xff0c;然后分析。 知识点&#xff1a;pandas&#xff0c;正则表达式&#xff0c;py知识。 过程&#xff1a;不断使用 GPT&#xff0c;遇到有问题的地方自己分析&#xff0c;把分析的结果告诉 GPT&am…

【java学习—十四】java动态代理(6)

文章目录 1. 相关概念2. 步骤3. 举例 问题&#xff1a; 假设一个java项目有100个java类&#xff0c;每个java有10个方法&#xff0c;这总共有1000个方法&#xff0c;现在有这样一个需求&#xff0c;需要在每个java方法加上2句话&#xff1a;在方法执行前输出这个方法开始执行&a…

【Web 实战】记一次攻防实战

经典开局一个登录框 由于漏洞应该还未修复。对于数据和相关网址打个码见谅一下 常规思路&#xff08;爆破&#xff09; 常规操作进行一波 尝试弱口令然后开始爆破 对于此种有验证码的爆破&#xff0c;可以借用一个bp插件。 captcha-killer-modified-jdk14.jar 具体使用我就…

【数据结构】希尔排序(最小增量排序)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前正在学习c和算法 ✈️专栏&#xff1a;数据结构 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章有啥瑕疵 希望大佬指点一二 如果文章对你有帮助…

Linux下SPI环回测试

文章目录 前言一、回环测试代码1.1 头文件 spidev.h2.2 c代码 spidev_test.c 二、 编译验证2.1 交叉编译2.2 测试 前言 linux下做spi回环测试 一、回环测试代码 1.1 头文件 spidev.h /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ /** include/linux/spi…

Vue3:父组件向子组件传值(Props)

背景 在Vue3项目里&#xff0c;页面A&#xff08;在views文件夹里&#xff09;需要读取某个接口的数据&#xff0c;而页面A引入的组件a&#xff08;在components文件夹里&#xff09;也需要读取该接口的数据为了避免重复读取数据从而造成资源浪费&#xff0c;可以利用传值来实…