| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 在项目中使用Spring Cloud Alibaba Sentinel组件 -> 正文阅读 |
|
[Java知识库]在项目中使用Spring Cloud Alibaba Sentinel组件 |
在项目中使用Spring Cloud Alibaba Sentinel组件 Sentinel 是什么随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 官网:https://github.com/alibaba/Sentinel 中文官网:https://github.com/alibaba/Sentinel/wiki Sentinel与Hystrix的区别由于Hystrix不再积极的开发,进入维护阶段,现在越来越多的开发者在项目中使用Spring Cloud Alibaba Sentinel组件。 Hystrix的关注点在于以 隔离和熔断为主的容错机制,超时或被熔断的调用将会快速失败,并可以提供 fallback 机制。 Sentinel的侧重点在于:多样化的流量控制、熔断降级,系统负载保护,实时监控和控制台。 对比详图 ?Sentinel的功能特点--摘自官方 ?Sentinel分为两大部分:核心库(Java 客户端)--自己的项目中的代码。不依赖任何框架/库,能够运行于 Java 7 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。 控制台(Dashboard)--控制台主要负责管理推送规则、监控、集群限流分配管理、机器发现等。 一、控制台(Dashboard)1、下载sentienl的jar包,本例使用:sentinel-dashboard-1.7.2.jar,地址:https://github.com/alibaba/Sentinel/releases 2、使用java -jar命令启动Sentinel控制台 启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版本。 3、访问地址:http://localhost:8080/,8080为Sentinel的默认端口? ?默认账号密码为sentinel? ?二、搭建客户端1.在自己的项目中引入依赖
2.编辑项目中的?application.yml或者bootstrap.yml文件 添加Sentinel 控制台配置信息
?3.资源是 Sentinel 中的一个关键概念。它可以是任何东西,例如服务、方法,甚至是代码片段。 一旦被 Sentinel API 包裹,就被定义为资源,可以申请 Sentinel 提供的保护。 把需要控制流量的代码用 Sentinel的关键代码 SphU.entry("资源名") 和 entry.exit() 包围起来即可。 实例代码--摘自官方
使用注解
在项目中Controller中添加@SentinelResource(value = "Sentinel-name") 例如: ?启动项目 三、查看接口的流量的详情1.实时监控 2.簇点链路 3.等等:其他使用方法有待发掘? 补充: 1.QPS:每秒请求数,当前调用该api的QPS到达阈值的时候进行限流 2.线程数:当调用该api的线程数到达阈值的时候,进行限流 3.直接:当api大达到限流条件时,直接限流4 4.关联:当关联的资源到达阈值,就限流自己 5.链路:只记录指定路上的流量,指定资源从入口资源进来的流量,如果达到阈值,就进行限流,api级别的限流 6.热点规则即经常访问的数据。很多时候我们希望统计某个热点数据中访问频次最高的 Top K 数据,并对其访问进行限制。 7.响应时间是指系统对请求作出响应的时间。 8.吞吐量是指系统在单位时间内处理请求的数量。 如果本篇博客对您有一定的帮助,大家记得留言+点赞哦。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 2:25:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |