springcloud alibaba(五)Sentinel实现流控与降级

文章目录

Sentinel实现流控与降级

1、什么是Sentinel

Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量

为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

2、Sentinel 的特征
2.1、丰富的应用场景

Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即

突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用

应用等。

2.2、完备的实时监控

Sentinel 提供了实时的监控功能。通过控制台可以看到接入应用的单台机器秒

级数据, 甚至 500 台以下规模的集群的汇总运行情况。

2.3、广泛的开源生态:

Sentinel 提供开箱即用的与其它开源框架/库的整合模块, 例如与 Spring

Cloud、Dubbo、gRPC 的整合。只需要引入相应的依赖并进行简单的配置即可快速地接入

Sentinel。

2.4、完善的 SPI 扩展点

Sentinel 提供简单易用、完善的 SPI 扩展接口。您可以通过实现扩展接口来快速地定制逻辑。例如定制规则管理、适配动态数据源等。

3、安装Sentinel控制台
3.1、Sentinel下载

Sentinel下载地址

3.2、启动控制台

//直接使用jar命令启动项目(控制台本身是一个SpringBoot项目)

java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -

Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.7.0.jar

3.3、访问Sentinel控制台

访问http://localhost:8080, 进入控制台, 默认用户名/密码均是sentinel


如果看到上述2个图片的话,说明Sentinel控制安装成功

4、微服务集成Sentinel
4.1、微服务pom.xml中加入sentinel依赖
xml 复制代码
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
4.2、微服务application.yml中添加sentinel配置
yaml 复制代码
spring:
  cloud:
    sentinel:
      transport:
        port: 9999 # 跟控制台交流的端口, 随意指定一个未使用的端口即可
        dashboard: 127.0.0.1:8080 # 指定控制台服务的地址
4.3、微服务定义方法并启动微服务
java 复制代码
package com.goblin.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 订单Sentinel前端控制器
 * <br>
 * 用来进行sentinel的学习
 */
@RestController
public class OrderSentinelController {

    @GetMapping("/message1")
    public String message1() {

        return "message1";
    }

}
4.4、Sentinel控制台查看微服务资源
5.流控

未完待续

相关推荐
linyb极客之路3 小时前
告别 OpenFeign!Spring 6 原生 HttpExchange 微服务调用实战指南
spring boot·spring·spring cloud
用户2190326527353 小时前
配置中心 - 不用改代码就能改配置
后端·spring cloud·微服务
qq_12498707533 小时前
基于springboot的鸣珮乐器销售网站的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·毕业设计·计算机毕业设计
BullSmall3 小时前
SpringBoot 项目日志规范(企业级标准 + 最佳实践)
java·spring boot·spring
一直都在5723 小时前
SpringBoot:自动配置原理
java·spring boot·spring
电商API_180079052473 小时前
大麦网API实战指南:关键字搜索与详情数据获取全解析
java·大数据·前端·人工智能·spring·网络爬虫
廋到被风吹走4 小时前
【Spring】Spring Cloud 配置中心动态刷新与 @RefreshScope 深度原理
java·spring·spring cloud
while(1){yan}4 小时前
SpringAOP
java·开发语言·spring boot·spring·aop
heartbeat..4 小时前
Spring 全局上下文实现指南:单机→异步→分布式
java·分布式·spring·context
码农幻想梦5 小时前
spring6
spring