Sentinel 使用入门|学习笔记

简介: 快速学习 Sentinel 使用入门

开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第二阶段Sentinel使用入门】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/684/detail/11871


Sentinel 使用入门

 

内容介绍:

一、什么是 Sentinel

二、微服务集成 Sentinel

三、安装 Sentinel 控制台

四、控制台的使用原理

五、实现一个接口的限流

 

一、什么是 Sentinel

Sentinel (分布式系统的流量防卫兵)是阿里开源的一套用于服务容错的综合性解决方案。它以流量力切入点,从流是控制、熔断降级、系统负载保护等多个维度米保护服务的稳定性。

1.Sentinel的特征

(1)丰富的应用场景

Sentinel 承接了阿里巴已近10年的双十一大促流量的核心场器 例如纱杀《即卖发流量控制在系统容量可以承受的范围)、消息削峰地谷、集群流量控制、文时馆断下游不可用应用等。

(2)完备的实时监控

Sentinel 提供了实时的监控功能。通过控制台可以看到该入应用的单台机器秒级数据,甚至500 台以下规模的集群的汇总运行情况。

(3)广泛的开源生态

Sentinel 提供开箱即用的与其它开源框架/库的整合模块,例知与 Spring Cloud、Dubbo,gRPC 的整合。只需要引入相应的依赖并进行简单的配置即可快速地接入Sentinel。

(4)完善的 SPI 扩展点

Sentinel提供间单易用、光西的SPI扩展接口。您可以通过实现扩展接口来快法地定制逻松。例如定制规则管理,话配动态数据调等。

2.Sentinel 的组成部分

(1)核心库(Java 客户端)

不依赖任何框架/库,能够运行于所有 Java 运行时环境同时对 Dubbo/Spring Cloud等框架也有较好的支持什么是 Sentinel。

(2)控制台(Dashboard)

基于 Spring Boot 开发,打包后可以直接运行不要要站外的Tomcat月容器。

 

二、微服务集成 Sentinel

为微服务集成 Sentinel 非常简单,只需要加入 Sentinel 的依赖即可。

1. 打开订单微服务,在里面加入 Sentinel 的依赖

2.加入 controller 供测试使用

image.png

三、安装 Sentinel 控制台

Sentinel 提供一个轻量级的控制台,它提供机器发现、单机资源实时监控以及规则管理等功能。

1. 下载 jar 包,解压到文件夹 https://github.com/alibat

image.png

2. 启动控制台

image.png

3.修改 shop-order 在里面加人有关控制台的配置

4.启动 nacos 之后,启动 OrderApplication 微服务,就安装好控制台,可以访问Sentinel 微服务了

image.png

 

四、控制台的使用原理

Sentinel 的控制台其实就是一个 SpringBoot 编写的程序,我们需要将我们的微服务程序注册到控制台上,即在微服务中指定控制台的地址,并且还要开启一个跟控制台传递数据的端口,控制台也可以通过此端口调用微服务中的监控程序获取策服务的各种信息。

image.png


五、实现一个接口的限流

1.通过控制台为 message1 添加一个流控规则

规定每秒钟最多有两个请求到达这个接口。当请求大于两个时,直接流控掉。在簇点电路里边就可以看到这个接口。

image.png

点击流控就可以为它设置流控规则。我们只看阈值类型和单机阈值。

本次用 QPS 的阈值类型,阈值设置为二,意思是每秒钟最多允许两个通过。

 image.png

2.通过控制台快速快速频繁访问,观察效果

我们就会发现被流控了。

image.png

相关文章
|
5月前
|
Java Nacos Sentinel
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(九)Nacos+Sentinel+Seata
733 0
|
5月前
|
SpringCloudAlibaba 监控 Java
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
SpringCloud Alibaba Sentinel实现熔断与限流--学习笔记
100 0
|
Sentinel 微服务
微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)2
微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)2
129 0
|
存储 SpringCloudAlibaba NoSQL
九.SpringCloudAlibaba极简入门-持久化Sentinel限流规则
在前两章节我们学习了通过[Sentinel的限流和熔断机制](https://blog.csdn.net/u014494148/article/details/105484410)来保护微服务,提高系统的可用性,但是有一个问题,我们在Sentinel配置了限流,熔断策略,默认情况下Sentinel的数据是基于内存存储,当客户端断开,或者Sentinel重启数据就会丢失,这不是我们愿意看到的。所有我们需要的Sentinel做数据持久。 Sentinel 中支持5种持久化的方式:file、redis、nacos、zk和apollo,本片文章针对于Nacos进行持久化配置。
|
消息中间件 监控 Java
微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)1
微服务组件(高并发带来的问题 服务器雪崩效应 Sentinel入门)1
147 0
|
SpringCloudAlibaba Java Sentinel
十四.SpringCloudAlibaba极简入门-Sentinel对Gateway网关进行限流
服务网关在微服务架构中充当了请求访问入口的角色,是非常重要的一个部分,在高并发的系统中我们通常会在网关层通过流控降级等手段把多余的请求拒绝在外来防止微服务被高并发请求打垮,在之前我们有讨论过《服务网关Spring Cloud Gateway》和 《Sentinel流控》,一个是服务网关,一个是流控降级,本篇文章要讨论的是如何使用Sentinel对Gateway进行流控
|
SpringCloudAlibaba 负载均衡 Java
八.SpringCloudAlibaba极简入门-Sentinel兼容Feign进行服务熔断
Spring Cloud Alibaba是Spring Cloud的一个子项目,OpenFeign是Spring Cloud的客户端负载均衡器,使用Spring Cloud Alibaba依然可以很方便的集成OpenFeign,如果要使用OpenFeign作为服务客户端负载均衡,那么我们需要考虑OpenFeign开启Sentinel进行服务熔断降级。
|
SpringCloudAlibaba 双11 Sentinel
七.SpringCloudAlibaba极简入门-Sentinel熔断
在上一章节我们探讨了Sentinel的流控(限流)功能,Sentinel除了流控还提供了服务熔断和降级机制,服务之间的调用关系错综复杂,微服务的调用链上的某些服务资源不稳定(宕机,异常,超时)可能会导致可能请求的失败和请求的堆积,调用链产生连锁反应可能会导致整个微服务架构瘫痪。服务熔断降级机制是保障高可用的重要措施之一。
|
消息中间件 SpringCloudAlibaba 监控
六.SpringCloudAlibaba极简入门-Sentinel限流
限流 , 限制流量,这里的流量我们可以理解成请求数量,其实就是限制服务器的请求并发数量,为什么要这么做?如果不做限流,那么在大量并发请求下我们的服务器会慢慢的变慢然后顶不住压力而挂掉(类似堵车)。并不是说并发越大越好,有的时候我们的项目规模和业务决定了我们不需要那么大的并发性,当大量的并发请求访问到服务器时我们需要把部分请求拒绝在外,这个是流量限制 - 限流。 熔断机制在在《Spring Cloud 极简入门》中有详细的解释,熔断机制是对服务调用链路的保护机制,如果链路上的某个服务不可访问,调用超时,发生异常等,服务会进行发熔断,触发降级返回托底数据。简单理解就是当服务器不可访问,可以返回一
|
监控 安全 Java
网关、Nacos 和 Sentinel|学习笔记(一)
快速学习网关、Nacos 和 Sentinel
网关、Nacos 和 Sentinel|学习笔记(一)