Sentinel
文章平均质量分 92
Sentinel
墨 禹
一个追求有道有术的非典型程序员
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sentinel系列(12) - Sentinel之实时监控
实时监控Sentinel 提供对所有资源的实时监控,我们可以通过控制台查看。可以很清楚的看到当前QPS流量趋势。监控API簇点监控获取簇点列表 API: GET /clusterNode当应用启动之后,可以运行下列命令,获得当前所有簇点(ClusterNode)的列表(JSON 格式):# 客户端IP+与控制台通信端口http://localhost:8719/clusterNode返回数组Json结果示例:[ {"avgRt":0.0, //平均响应时间 "blockReq原创 2021-08-31 10:36:20 · 3951 阅读 · 0 评论 -
Sentinel系列(11) - Spring Cloud Gateway整合Sentinel实现网关限流
网关限流Sentinel 支持对 Spring Cloud Gateway、Zuul 等主流的 API Gateway 进行限流。Sentinel 1.6.0 引入了 Sentinel API Gateway Adapter Common 模块,此模块中包含网关限流的规则和自定义 API 的实体和管理逻辑:GatewayFlowRule:网关限流规则,针对 API Gateway 的场景定制的限流规则,可以针对不同 route 或自定义的 API 分组进行限流,支持针对请求中的参数、Header、原创 2021-08-30 17:27:44 · 7468 阅读 · 0 评论 -
Sentinel系列(10) - 控制台源码改造实现流控规则持久化
前言之前我们集成了Nacos,实现了推送规则到客户端,但是不能在控制台添加规则持久化到Naocs中,后来我们分析了控制台添加和查询规则的源码。https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel规则配置要通过 Sentinel 控制台配置集群流控规则,需要对控制台进行改造。我们提供了相应的接口进行适配。从 S原创 2021-08-29 15:09:04 · 1572 阅读 · 0 评论 -
Sentinel系列(9)-Sentinel控制台源码分析之流控规则添加查询
前言在之前使用Nacos持久化规则的文档中,最后发现只能使用Nacos推送配置到控制台,那么怎么实现控制台和Nacos的双向同步呢?这里不直接提供解决方案,我们还是先分析下控制台的源码。下面我们分析下添加、查询流控规则的源码及流程。核心类首先分析下用到的相关类RuleEntityRuleEntity接口,其实现类就是这些规则对应的实体类了。重点看下FlowRuleEntity源码:public class FlowRuleEntity implements RuleEntity {原创 2021-08-27 20:32:04 · 1332 阅读 · 1 评论 -
Sentinel系列(8)-Sentinel使用 Nacos 配置规则
前言原创 2021-08-27 15:40:53 · 13132 阅读 · 5 评论 -
Sentinel系列(7)-Sentinel之@SentinelResource注解
概述资源资源是 Sentinel 的关键概念。它可以是 Java 应用程序中的任何内容,例如,由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。只要通过 Sentinel API 定义的代码,就是资源,能够被 Sentinel 保护起来。大部分情况下,可以使用方法签名,URL,甚至服务名称作为资源名来标示资源。@SentinelResourceSentinel资源的定义源码@Target({ElementType.METHOD, ElementType.TYPE}原创 2020-12-22 16:34:47 · 921 阅读 · 0 评论 -
Sentinel系列(6)-Sentinel控制台功能详解之降级规则+热点规则+授权规则+系统规则
概述除了流量控制以外,对调用链路中不稳定的资源进行熔断降级也是保障高可用的重要措施之一。一个服务常常会调用别的模块,可能是另外的一个远程服务、数据库,或者第三方 API 等。例如,支付的时候,可能需要远程调用银联提供的 API;查询某个商品的价格,可能需要进行数据库查询。然而,这个被依赖服务的稳定性是不能保证的。如果依赖的服务出现了不稳定的情况,请求的响应时间变长,那么调用服务的方法的响应时间也会变长,线程会产生堆积,最终可能耗尽业务自身的线程池,服务本身也变得不可用现代微服务架构都是分布式的,由非常多原创 2020-12-22 15:45:14 · 2109 阅读 · 3 评论 -
Sentinel系列(5)-Sentinel控制台功能详解之流控规则
实时监控集成控制台后,当有请求时,实时监控页面会显示当前服务各个接口的访问信息,以图表的形式展示给用户,包含访问时间、通过 QPS、拒绝QPS、响应时间(ms)等信息。簇点链路列表:用于展示服务所有接口,包含通过QPS、拒绝QPS、线程数、平均RT、分钟通过、分钟拒绝等信息。192.168.58.1:8720: IP为当前服务所在的IP地址。端口为服务与Sentinel控制台交互的端口,服务本地会起一个该端口占用的HttpServer,该 Server 会与 Sentinel 控制台做交互。比如原创 2020-12-22 15:44:13 · 2285 阅读 · 2 评论 -
Sentinel系列(4)-服务雪崩效应及容错方案
雪崩效应雪崩一种自然现象,当山坡积雪内部的内聚力抗拒不了它所受到的重力拉引时,便向下滑动,引起大量雪体崩塌。雪崩效应广泛应用于各种领域,比如密码学术语、管理学、商业等。服务雪崩在软件架构体系中,分布式或者微服务,将系统拆分为独立服务,通过HTTP或者RPC进行通信,相互协作。但是由于网络或者其他不稳定因素,总会发生某个服务延迟或者不可用,无法保证100%不出故障。当某个服务发生故障时,势必会导致其他关联服务出现网络延迟,如果此时大量请求涌入,形成阻塞,其他服务也会导致故障出现,这种在软件中,由于一原创 2020-10-19 11:44:02 · 1230 阅读 · 0 评论 -
Sentinel系列(3)-Sentinel相关概念详解(摘自官方)
介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。历史2012 年,Sentinel 诞生,主要功能为入口流量控制。2013-2017 年,Sentinel在阿里巴巴集团内部迅速发展,成为基础技术模块,覆盖了所有的核心场景。Sentinel 也因此积累了大量的流量归整场景以及生产实践。2018 年,Sentinel 开源,并持续演进。2原创 2020-10-17 13:03:04 · 1173 阅读 · 0 评论 -
Sentinel系列(2)-Spring Cloud集成Sentinel及简单流控示例
服务雪崩集成创建一个父工程引入相关boot,cloud,alibaba依赖 <properties> <java.version>1.8</java.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF原创 2020-10-17 11:43:03 · 1175 阅读 · 0 评论 -
Sentinel系列(1)-Sentinel简介+安装控制台
介绍随着分布式系统变得越来越流行,服务之间的可靠性变得比以往任何时候都更加重要。Sentinel以“流”为切入点,并在流控制, 流量整形,电路中断和系统自适应保护等多个领域工作,以确保微服务的可靠性和弹性。功能丰富的适用场景:Sentinel已在阿里巴巴中广泛使用,并且在过去10年中涵盖了Double-11(11.11)购物节中几乎所有的核心场景,例如“ Second Kill”需要将突发流量限制为满足系统容量,消息峰值削波和谷底填充,不可靠下游服务的断路,集群流量控制等。实时监控:Sentine原创 2020-10-16 17:58:25 · 1236 阅读 · 0 评论
分享