一、基本简介

1、概念描述

Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。包括核心的独立类库,监控台,丰富的使用场景验证。(这似乎是阿里开源组件的一贯作风,极其有特点,且特点很规律)

基本特性图:

补刀一句:这种图很多人可能不在意,但是一般官方给这个图就是该中间件的基本使用思路,与核心功能点。

2、基础性概念

资源管理

资源是Sentinel组件中的核心概念之一。应用服务器上脚本,静态页面,API接口,文件图片等都可以理解为资源,对于Java开发者而言,API接口就是这里资源的概念。

规则配置

Sentinel组件通过流控规则的配置,来指定允许该资源(API接口)通过的请求次数,IP黑白名单,应用服务等。

测试效果

QPS:每秒查询率,是一台服务器每秒能够处理的查询次数。

TPS:每秒处理事务数,事务处理整体倾向于整个过程。

二、框架环境整合

这里的环境主要整合Nacos注册中心,Feign服务,Sentinel哨兵,和Sentinel控制台。

1、基本依赖

这里的依赖需要参考官方文档,不同的环境使用不同的依赖,这里主要适配SpringCloud环境,所以使用如下包即可。

2、控制台面板

这里直接从GitHub下载一个控制台服务包即可,也可以自己下载源码,按照需求修改后自行打包。

java -jar sentinel-dashboard-1.7.1.jar

下载并启动控制台服务。

3、服务配置

这里主要是把用到的两个服务9001和9002连接到监控台。

spring:

application:

name: node09-nacos-9001

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

config:

server-addr: 127.0.0.1:8848

file-extension: yaml

sentinel:

transport:

port: 9001

dashboard: localhost:8080

最下面四行文件是哨兵控制台的主要配置,注意刚启动之后控制台是看不到连接的,有资源被触发之后才能看到。(附一张首页效果图)

三、流量控制

1、基本描述

流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。

2、限流规则

限流规则主要由下面几个因素组成。

resource:资源名,即限流规则的作用对象,对于Java服务端开发而言就是执行的方法;

count: 限流阈值,单位时间内能按照规则通过的请求量;

grade: 限流阈值类型,QPS 或并发线程数 ;

limitApp: 流控限制的指定应用来源,若为default则不区分调用来源;

strategy: 调用关系限流策略,直连,链路等;

controlBehavior: 流量控制效果,直接拒绝、Warm Up、匀速排队;

3、基本案例

硬编码

配置规则

public class FlowRuleConfig {

public static void initFlowQpsRule(String resourceName) {

List

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级]http://www.zyiz.net/tech/detail-120488.html

哨兵 双向 java_SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级相关推荐

  1. 问道阿里哨兵Sentinel框架_仪表盘_限流_v0.0.2

    文件名称 版本号 作者 qq 版本 问道阿里哨兵Sentinel框架_仪表盘_限流 v0.0.2 若布与宫合 8416837 SpringBoot 2.2.2 Spring-cloud-starter ...

  2. 「微服务系列 13」熔断限流隔离降级

    我们知道微服务分布式依赖关系错综复杂,比方说前端的请求转化为后端调用的服务请求,一个前端请求会转为成很多个后端调用的服务请求,那么这个时候后台的服务出现不稳定或者延迟,如果没有好的限流熔断措施,可能会 ...

  3. 微服务中的熔断、限流、降级

    在我们进行系统设计时,必须要考虑系统的高性能.高并发.高可用.本文分享的是关于高可用的三大利器:熔断.限流.降级,我们使用通俗.易懂的语句将三个概念讲清楚. 一.熔断 在服务的依赖调用中,被调用方出现 ...

  4. 阿里开源限流、降级工具Sentinel介绍与使用

    Sentinel 是什么? 简言之,就是用于管理应用服务的流量控制.熔断降级的组件.当我们的服务有流量控制.熔断降级方面的需求时,可以考虑使用该组件. Sentinel: 分布式系统的流量防卫兵 随着 ...

  5. 秒杀项目之网关服务限流熔断降级分布式事务

    目录 一.网关服务限流熔断降级 二.Seata--分布式事务 2.1 分布式事务基础 2.1.1 事务 2.1.2 本地事务 2.1.3 分布式事务 2.1.4 分布式事务场景 2.2 分布式事务解决 ...

  6. 高可用服务设计之二:Rate limiting 限流与降级

    <高可用服务设计之二:Rate limiting 限流与降级> <nginx限制请求之一:(ngx_http_limit_conn_module)模块> <nginx限制 ...

  7. java服务限流_SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    一.基本简介 1.概念描述 sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监控台,丰富的使用场景验证.(这似乎是阿里开源组件的一贯 ...

  8. SpringCloud微服务:Sentinel哨兵组件,管理服务限流和降级

    源码地址:GitHub·点这里||GitEE·点这里 一.基本简介 1.概念描述 Sentinel 以流量为切入点,从流量控制.熔断降级.系统负载保护等多个维度保护服务的稳定性.包括核心的独立类库,监 ...

  9. SpringCloud微服务:Eureka组件之服务注册与发现

    一.Eureka基本架构 1.Eureka角色结构图 角色职责如下: 1).Register:服务注册中心,它是一个Eureka Server ,提供服务注册和发现功能. 2).Provider:服务 ...

最新文章

  1. 微信小程序转发 分享 打电话功能,完整代码附效果图
  2. 如何让你的 Linux 系统干净整洁
  3. GitLab五种权限
  4. 洛谷 3784(bzoj 4913) [SDOI2017]遗忘的集合——多项式求ln+MTT
  5. Windows x64平台 获取PEB表,并获取kernel32.dll的基址,并获取它的函数
  6. SCRUM 系列之一 ----- 认识SRCUM
  7. 第十七章 模型压缩及移动端部署
  8. 应届生如何准备校招【研发岗】
  9. 独孤求败--之--InnoDB、MyISAM索引实现过程
  10. Chromium网页CPU光栅化原理分析
  11. CentOS 6.4 x64 Cacti 监控安装配置
  12. Linux环境下安装MySQL(源码安装)
  13. Python-在线网页导出为图片或pdf
  14. yunos的工程模式
  15. 浅谈微前端在滴滴车服中的应用实践
  16. UE4 AI移动到 出现的BUG以及解决方案
  17. 【Caffe学习三】基于ROC-RK3399-PC/Ubuntu18.04的Caffe-SSD-CPU 安装编译___BUG
  18. 在知乎上30万人推荐的PPT自学网站,每天5分钟,省下巨额培训费
  19. 怎么检查网站是否被挂黑链?
  20. c语言 图片漫画效果,【教程】教你用手机修出动漫风格人像照片

热门文章

  1. 华为云首次突发大面积故障,网友哀嚎一片
  2. leetcode378. 有序矩阵中第K小的元素(Python3)
  3. C++ vector数组实现多级排序—使用sort()函数
  4. PS2019计算机丢失,小编教您ps2019中如何调出历史记录
  5. 基于python 的股票行情查询系统开发(一)
  6. 安装ffmpeg win10教程
  7. sap服务器文件上传,服务器上传数据sap
  8. Adobe Illustrator CC 2018制作七巧板
  9. Chrome 开发者工具的 11 个骚技巧
  10. Contact form 7插件使用介绍和常见问题解答