首页 > 其他分享 >Sentinel概述

Sentinel概述

时间:2024-12-11 09:58:01浏览次数:2  
标签:调用 系统 流量 概述 实时 Sentinel 资源

Sentinel简介

背景:随着微服务的流行,服务和服务之间的稳定性变得越来越重要
Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由、流量控制。流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性

Github项目:https://github.com/alibaba/sentinel
官方站点:https://sentinelguard.io/zh-cn/
官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html

Sentinel中的基本概念

1.资源:被 Sentinel保护的对象就是资源

  • 资源可以是应用程序中的任何内容。比如:一段代码、一个方法、或者一个服务
  • 需要使用Sentinel提供的相关方式来标记一个资源
    2.规则:围绕资源的实时状态设定的规则,定义了如何去保护资源方

Sentinel的核心功能

1.流量控制
问题背景:
从系统稳定性角度考虑,在处理请求的速度上,也有非常多的讲究,因为任意时间到来的请求往往是随机不可控的,而系统的处理能力是有限的。我们需要根据系统的处理能力对流量进行控制

流量控制有以下几个角度:

  • 资源的调用关系,例如资源的调用链路,资源和资源之间的关系
  • 运行指标,例如 QPS、线程池、系统负载等
  • 控制的效果,例如直接限流、冷启动、排队等
    Sentinel支持用户自由选择控制的角度,并进行灵活组合从而达到想要的效果
    2.熔断降级
    问题背景:
    由于调用关系的复杂性,如果调用链路中的某个资源出现了不稳定,最终会导致请求发生堆积

    如何解决:
    降低调用链路中的不稳定资源也是 Sentinel的使命之现为 timeout,异常比例升高的时候,则对资源的调用进行限制,并让请求快速失败【熔断降级】,避免影响到其它的资源,最终产生雪崩的效果
    3.系统负载保护
    问题背景:
    当系统负载较高的时候,如果还持续让请求进入,可能会导致系统崩溃,无法响应
    如何解决:
    Sentinel同时提供系统维度的自适应保护能力,防止雪崩,能够让系统的入口流量和系统的负载达到个平衡,保证系统在能力范围之内处理最多的请求,系统防护中重要的一环

Sentinel的组成

1.核心库(SDK):比如java客户端,不依赖任何框架/库,能够运行于所有Java 运行时环境,同时对Dubbo/SpringCloud等市面常见主流框架进行了友好适配
2.控制台(Dashboard):基于Spring Boot开发,打包后可以直接运行,不需要额外的Tomcat等应用容器

Sentinel社区正在将流量治理相关标准抽出到OpenSergo标准中,Sentinel作为流量治理标准实现。有关Sentinel流控降级与容错spec的最新进展,请参考opensergo-specification

Sentinel的特征

1.丰富的应用场景:Sentinel承接了阿里巴巴近 10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时断下游不可用应用等
2.完备的实时监控:Sentinel同时提供实时的监控功能。可以在控制台中看到接入应用的单台机器秒级数据,以及一定规模下的集群汇总运行情况
3.广泛的开源生态:Sentinel提供开箱即用的与其它开源框架/库的整合模块,例如与 Spring Cloud、ApacheDubbo、gRPC、Quarkus 的整合,并提供Java/Go/C++等多语言的原生实现
4.完善的SPI扩展机制:Sentinel提供简单易用、完善的SPI扩展接口。您可以通过实现扩展接口来快速地定制逻辑

Sentinel的主要特性

Sentinel的开原生态

Sentinel的工作

1.对主流框架提供适配或者显示的API,来定义需要保护的资源,并提供设施对资源进行实时统计和调用链路分析
2.根据预设的规则,结合对资源的实时统计信息,对流量进行控制。同时,Sentinel提供开放的接口,方便您定义及改变规则
3.Sentinel提供实时的监控系统,方便您快速了解目前系统的状态

总结:
Sentinel的核心就是定义资源和为资源设置规则

标签:调用,系统,流量,概述,实时,Sentinel,资源
From: https://www.cnblogs.com/Eduhg/p/18598546

相关文章

  • 数据库前言概述
    摘要:本篇博客简述了学习数据库及数据库管理系统的前言知识。目录一、系统 二、数据与数据库 三、数据管理 四、数据管理系统一、系统什么是系统?        系统是一个独立运行的模块,它是一种可以独立运行的、自成一体的模块。比如互联网应用中的浏览器、W......
  • STP协议讲解概述
    1.冗余链路:越大的网络架构中,对网络的冗余性的要求就越高,但当大型网络架构设置了链路冗余后容易引发广播风暴,多帧复制,MAC地址表震荡等一系列突发状况2.冗余链路所引发的问题:广播风暴:指在网络中,由于大量的广播数据包被不断地复制和传播,导致网络带宽被严重占用,网络性能急剧......
  • 第77篇 Redis中的Sentinel(哨兵模式)详解
    前言Redis的高可用机制有持久化、复制、哨兵和集群。其主要的作用和解决的问题分别是:持久化:持久化是最简单的高可用方法(有时甚至不被归为高可用的手段),主要作用是数据备份,即将数据存储在硬盘,保证数据不会因进程退出而丢失。复制:复制是高可用Redis的基础,哨兵和集群都是在复制......
  • C语言基础一:概述
    C语言:概述章节内容计算机组成:中央处理器CPU内存输入设备输出设备网络C语言程序的开发过程开发三步骤编辑(编写代码):程序员向.C文件写入程序编译(编译的详细过程):将源文件(.c)编译成可执行程序(二进制)编译过程分为4步预处理编译汇编:链接运行:运行可执行......
  • 漏扫利器之Burpsuite概述(2)
    目录一、各功能点请求的主要组成1.请求行(RequestLine):2.Host头部(HostHeader):3.Cookie头部(CookieHeader):4.Cache-Control头部:5.Sec-Ch-Ua(用户代理客户端提示):6.Upgrade-Insecure-Requests头部:7.User-Agent头部:8.Accept头部:9.Sec-F......
  • 【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述
    【架构师从入门到进阶】第四章:前端优化思路——第一节:前端优化概述减少不必要的传输该前置的前置该缓存的缓存本篇文章我们来学习前端优化的概述。为什么开始学前端呢?大家思考一下,我们在之前的文章中写过这么一段话。我们优化的点是从用户使用我们系统开始,直到我们响......
  • 大数据管理平台 DataWings-数据集成概述
    数据集成提供简单易用的迁移能力和多种数据源到数据仓库的集成能力,降低了客户数据迁移和集成的复杂性,有效地提高数据迁移和集成的效率。支持的同步类型同步类型来源数据源类型目标数据源类型离线同步MySQLHive离线同步OracleHive离线同步SQLServerHive离线同步GreenplumHive......
  • Bluetooth LE AUDIO架构概述
    背景BluetoothLEAUDIO是蓝牙5.2版本引入,LEAUDIO的引入不仅仅只是在功耗和延迟方面相对于经典蓝牙音频有改善,最大的创新在于应用场景的拓展,尤其是LE广播音频Auracast的引入,丰富了蓝牙Audio的应用场景,下面列举广播音频几个典型的应用场景:场景描述公共场所广播LEAudio广......
  • 数据库与数据库管理系统概述
    title:数据库与数据库管理系统概述date:2024/12/7updated:2024/12/7author:cmdragonexcerpt:在信息化迅速发展的时代,数据已成为企业和组织的重要资产。数据库与数据库管理系统(DBMS)是高效存储、管理和利用数据的核心工具。本文首先定义了数据库的基本概念和特点,随后介......
  • 机器学习概述详解
    文章目录机器学习概述详解一、引言二、机器学习基础1、机器学习定义及应用场景2、监督学习与无监督学习三、机器学习开发流程四、使用示例1、LeNet网络结构代码示例2、AlexNet网络结构代码示例五、总结机器学习概述详解一、引言机器学习作为人工智能的一个重要分......