SCA Sentinel分布式系统的流量防卫兵

news2024/11/20 20:37:44

        Sentinel官网:https://sentinelguard.io/zh-cn

        Sentinel:Sentinel是面向分布式、多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量控制、流量路由、熔断降级、系统自适应保护等多个维度来帮助用户
保障微服务的稳定性

Sentinel与Hystrix对比

        相同:Sentinel和Hystrix的原则是一致的:当检测到调用链路中某个资源出现不稳定的表现,例如请求响应时间长或异常比例升高的时候,则对这个资源的调用进行限制,让请求快速失败,避免影响到其它的资源而导致级联故障
        不同:
        1)限制方式区别:
                Hystrix通过线程池隔离的方式,来对依赖(在Sentinel的概念中对应 资源)进行了隔离。这样做的好处是资源和资源之间做到了最彻底的隔离。缺点是除了增加了线程切换的成本(过多的线程池导致线程数目过多),还需要预先给各个资源做线程池大小的分配。
                Sentinel:通过并发线程数进行限制,在源头上进行限制
                            通过响应时间对资源进行降级,当依赖的资源响应时间过长,所有对该资源的访问都会被拒绝,知道过了指定时间窗口之后才重新恢复
        2)是否有控制台
            Sentinel提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。另外,鉴权在在产环境中也必不可少。而Hystrix需要自己搭建监控平台dashboard。Hystrix没有提供UI界面进行服务熔断、服务降级等配置(使用的是@HystrixCommand注解来进行参数设置,会造成代码入侵)

Sentinel的特性

         丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
        完备的实时监控:Sentinel同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至500台以下规模的集群的汇总运行情况。
        广泛的开源生态:Sentinel提供开箱即用的与其它开源框架/库的整合模块,例如与Spring Cloud、Dubbo的整合。您只需要引入相应的依赖并进行简单的配置即可快速地接入Sentinel。
        完善的SPI扩展点:Sentinel提供简单易用、完善的SPI扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。
    Sentinel的主要特性
         

 

Sentinel下载安装部署

        1.下载网址: Releases · alibaba/Sentinel · GitHub,下载所需要的jar包
        2.将该jar包放到一个非中文的目录下,输入以下命令

   

java -jar sentinel-dashboard-1.7.1.jar &

        然后就可以看到该jar包被启动了,打开浏览器输入

        

http://localhost:8080/#/login

       

 

         初始的用户名和密码都为sentinel,输入后点击登录即可进入该页面
         3.在page项目下导入依赖

<!-- Sentinel核心环境依赖 -->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

         4.配置page的核心配置文件

    sentinel:
      transport:
        dashboard: 127.0.0.1:8080 #配置Sentinel控制台端口
        port: 8719

         5.重启page项目,我们的Nacos注册中心也需要启动,不然page无法运行

        随便访问一个接口 

1

        就可以在Sentinel的可视化端口看到刚刚接口的信息,并可以实时的进行限流降级等操作,不需要重启服务器,相当的方便

 Sentinel基本概念

        资源:它可以是Java应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。我们请求的API接口就是资源。只要通过Sentinel API定义的代码,就是资源,能够被Sentinel保护起来。大部分情况下,可以使方法法签名、URL、甚至服务名称作为资源名来标示资源
        规则:围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

http连接处理(下)(四)

1.结合代码分析请求报文响应 下面我们将介绍服务器如何响应请求报文&#xff0c;并将该报文发送给浏览器端。首先介绍一些基础API&#xff0c;然后结合流程图和代码对服务器响应请求报文进行详解。 基础API部分&#xff0c;介绍stat、mmap、iovec、writev。 流程图部分&…

NodeJS 后端通过Http获取Base64格式数据显示图片 ②〇

文章目录 前言BASE64前端开发后端开发异步代码效果总结 ⡖⠒⠒⠒⠤⢄⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸ ⠀⠀⠀⡼⠀⠀⠀⠀ ⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣲⡴⣗⣲⡦⢤⡏⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠋⠉⠉⠓⠛⠿⢷⣶⣦⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠇⠀…

Rust操作MySQL

查询 本部分是对 「Rust入门系列」Rust 中使用 MySQL[1]的学习与记录 经常使用的时间处理库&#xff1a; chrono 流式查询使用&#xff1a; query_iter 输出到Vec使用&#xff1a; query 映射到结构体使用&#xff1a; query_map 获取单条数据使用&#xff1a; query_first 命名…

RTP及RTP Header Extension

https://www.rfc-editor.org/rfc/rfc3550.txt 译文&#xff1a; http://www.gpssoft.cn/download/protocol/RFC-3550-%E4%B8%AD%E6%96%87%E7%89%88.pdf RTP&#xff1a;real-time transport protocol&#xff0c;实时传输协议 每一个 RTP 包中都有前 12 个字节&#xff0c;而…

了解PostgreSQL sql shell和VACUUM命令

从SQL Shell进入PostgreSQL&#xff1b;没用过这东西&#xff0c;看一下&#xff1b; 一直回车&#xff1b;最后输入口令就登入了&#xff1b;此时是登入默认的数据库postgres&#xff1b;这个数据库是默认安装的&#xff1b; 看一下有没有表&#xff0c;根据资料可以用 \d 或…

K210学习篇(五)PWM

machine.PWM PWM&#xff1a; 脉宽调制模块&#xff0c; 硬件支持的PWM&#xff0c; 可以指定任意引脚&#xff08;0到47引脚&#xff09; 每个 PWM 依赖于一个定时器&#xff0c; 即当定时器与 PWM 功能绑定后&#xff0c; 不能作为普通定时器使用了。 因为有 3 个定时器&…

go语言终端交叉编译的事项

一、可以使用的编译环境 go env 查看编译的环境 1.编译linux 64环境[centos7以及以上版本] go env -w GOOS"linux" go env -w GOARCH"amd64" 2.编译linux 32环境[centos6以及以下版本] go env -w GOOS"linux" go env -w GOARCH"386"…

动态库 的制作和使用

文章目录 重要命令制作流程和使用动态库加载失败&解决失败的原因&#xff1a;ldd命令系统加载动态库&#xff08;共享库&#xff09;的顺序问题解决途径一、修改环境变量二、修改/etc/ld.so.cache文件列表三、将动态库放在/lib 或 /usr/lib文件中&#xff08;不推荐&#x…

互联网大厂技术-Redis-集群模型、架构原理、难点应用场景、高频面试问题详解

目录 一、Redis集群模型 1.1、主从模式 1.1.1 主从模式优缺点 1.2、哨兵模式 1.2.1 哨兵模式的作用&#xff1a; 1.2.2 哨兵实现原理 1.2.3 主观下线和客观下线 1.2.4 哨兵模式优缺点 1.3、各大厂的Redis集群方案 1.3.1 客户端分片 1.3.2 代理分片 Twemproxy的优点…

ESP32开发环境的搭建

ESP32开发环境的搭建 Windows11WSL2 Ubuntu22.04 下载ESP32开发所需的库和工具链 下载ESP-IDF库安装必要的工具sudo apt-get install git wget flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python…

收款单签字时,报”结算信息表体中本方银行账户、现金账户、票据号 (商业汇票号)不能同时为空,签字操作失败“,能否取消这个校验??

大概整理&#xff0c;如有不当&#xff0c;欢迎留言指出&#xff0c;谢谢&#xff01; 收款单签字时&#xff0c;报”结算信息表体中本方银行账户、现金账户、票据号 (商业汇票号)不能同时为空&#xff0c;签字操作失败“&#xff0c;能否取消这个校验&#xff1f;&#xff1f…

设计模式(六)-----适配器模式(Adapter Pattern)

目录 什么是适配器模式适用场景适配器模式的三种实现方式1. 类的适配器模式2. 对象的适配器模式3. 接口的适配器模式 总结 什么是适配器模式 适配器模式主要用于将一个类的接口转化成客户端希望的目标类格式&#xff0c;使得原本不兼容的类可以在一起工作&#xff0c;将目标类…

2023年7月北京/广州/深圳制造业产品经理NPDP认证招生

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

Windows 10 实现实时文件夹同步的方法

什么是实时同步&#xff1f; 实时文件夹同步是一种确保在满足一定条件时立即更新一个或多个文件夹的过程。与传统的文件同步方法相比&#xff0c;它能够更及时地检测到源文件夹的变化并将这些变化快速复制到目标文件夹。 实时文件夹同步可以采用单向同步或双向同步的模式…

Flutter 状态管理框架 Provider 和 Get 分析

状态管理一直是 Flutter 开发中一个火热的话题。谈到状态管理框架&#xff0c;社区也有诸如有以Get、Provider为代表的多种方案&#xff0c;它们有各自的优缺点。面对这么多的选择&#xff0c;你可能会想&#xff1a;「我需要使用状态管理么&#xff1f;哪种框架更适合我&#…

数据安全之风险评估(三)

网络数据安全风险评估坚持预防为主、主动发现、积极防范&#xff0c;对数据处理者数据安全保护和数据处理活动进行风险评估&#xff0c;旨在掌握数据安全总体状况&#xff0c;发现数据安全隐患&#xff0c;提出数据安全管理和技术防护措施建议&#xff0c;提升数据安全防攻击、…

ElasticSearch简单介绍以及基本概念阐述

文章目录 一、ES是什么二、ES主要功能1、实时数据搜索和分析&#xff1a;2、分布式架构&#xff1a;3、全文搜索&#xff1a;4、实时数据分析&#xff1a;5、多种数据类型支持&#xff1a;6、实时监控和可视化&#xff1a;7、安全性和访问控制&#xff1a;8、多种集成和扩展&am…

java-error-No converter found for return value of type

java-error-No converter found for return value of type 问题描述 &#xff1a; 日志如下 &#xff1a; 14-Jul-2023 15:27:46.747 严重 [http-nio-8080-exec-5] org.apache.catalina.core.StandardWrapperValve.invoke 在路径为[]的上下文中&#xff0c;Servlet[action]的…

掘金量化—Python SDK文档—3.变量约定

目录 Python SDK文档 3.变量约定 3.1 symbol - 代码标识 3.1.1交易所代码 3.1.2交易标的代码 3.1.3symbol 示例 3.1.4期货主力连续合约 3.2mode - 模式选择 3.2.1实时模式 3.2.2回测模式 3.3context - 上下文对象 3.3.1context.symbols - 订阅代码集合 3.3.2context.now - 当…

【PHP面试题46】php-fpm的工作模式是什么,如何进行配置?

文章目录 一、前言二、PHP-FPM的工作模式三、进程数量配置依据四、php-fpm常见的配置参数4.1 pm.max_children4.2 pm.start_servers4.3 pm.min_spare_servers4.4 pm.max_spare_servers4.5 pm.max_requests4.6 request_terminate_timeout4.7 max_input_time4.8 upload_max_files…