Sentinel学习笔记(一)SpringBoot集成sentinel

Sentinel是一个强大的微服务流量控制组件,提供流控、降级、熔断和系统保护等功能,保障服务稳定性。在阿里巴巴内部广泛应用,支持实时监控和丰富的应用场景。集成Sentinel只需简单几步,包括下载Sentinel控制台,启动服务,添加客户端依赖,并配置应用连接信息。通过设置限流规则,可以直观地观察到流量控制的效果。
摘要由CSDN通过智能技术生成

sentinel简介
随着分布式系统变得越来越流行,服务之间的可靠性变得比以往任何时候都更加重要。Sentinel以“流”为切入点,并在流控制, 流量整形,电路中断和系统自适应保护等多个领域工作,以确保微服务的可靠性和弹性。

Sentinel具有以下功能:

丰富的适用场景:Sentinel已在阿里巴巴中广泛使用,并且在过去10年中涵盖了Double-11(11.11)购物节中几乎所有的核心场景,例如“ Second Kill”需要将突发流量限制为满足系统容量,消息峰值削波和谷值填充,为不可靠的下游服务而中断电路,集群流量控制等。
实时监控:Sentinel还提供了实时监控功能。您可以实时查看单个计算机的运行时信息,以及少于500个节点的群集的聚合运行时信息。
广泛的开源生态系统:Sentinel提供与常用框架和库(如Spring Cloud,Dubbo和gRPC)的现成集成。您只需将适配器依赖项添加到服务中即可轻松使用Sentinel。
多种语言支持:Sentinel已为Java,Go和C ++提供了本机支持。
各种SPI扩展:Sentinel提供了易于使用的SPI扩展接口,使您可以快速自定义逻辑,例如,自定义规则管理,调整数据源等。
功能概述:
在这里插入图片描述

要集成sentinel的步骤分为两部分,一部分是sentinel控制台安装启动,一部分是客户端集成。

sentinel控制台安装启动

简介:

Sentinel提供了一个简单的独立仪表板,您可以在其上监视应用程序并实时配置规则。它包括以下功能:

  • 机器发现
  • 单节点或少于500个节点的群集的资源监视
  • 规则管理
  • 仪表板

如下图所示:
在这里插入图片描述
下面来开始安装控制台:

1、下载Sentinel服务端jar

访问:https://github.com/alibaba/Sentinel/releases 下载 sentinel-dashboard-1.8.0.jar.

在这里插入图片描述

2、启动Sentinel服务端后台管理
执行命令:java -Dserver.port=8080 -jar sentinel-dashboard-1.8.1.jar 默认8080端口,可以通过port指定其他端口

3、访问 localhost:8080
默认登录用户:sentinel/sentinel
在这里插入图片描述

客户端集成

在项目的pom.xml文件中加入依赖:

     <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>

在配置文件yml加入如下配置:

server:
  port: 2222
spring:
  application:
    name: agensgraph
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080
      eager: true

编写一个接口来测试限流效果:


    @Controller
    public class SentinelController {
        @RequestMapping("/AgensGraphSqlTestController/testSentinel")
        @ResponseBody
        public String sentinel(){
            return "sentinel ....";
        }

启动工程后,在localhost:8080 sentinel控制台可看到客户端已经注册上去了:
在这里插入图片描述

访问项目路径 http://localhost:2222/AgensGraphSqlTestController/testSentinel触发接口,可以看到已经触发了,我这里点了两次
在这里插入图片描述
配置限流规则:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多次连续点击访问:http://localhost:2222/AgensGraphSqlTestController/testSentinel

每秒的前1次返回数据正常,后面如果访问得多了可以看到浏览器返回:
Blocked by Sentinel (flow limiting)
表示已经被限流了,集成成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值