Administrator
Administrator
Published on 2025-01-06 / 0 Visits
0
0

微服务项目教程-Sentinel组件(五)

完美教程:https://developer.aliyun.com/article/783342

什么是Sentinel

Sentinel定位是分布式系统的流量防卫兵。目前互联网应用基本上都使用微服务,微服务的稳定性是一个很重要的问题,而限流、熔断降级是微服务保持稳定的一个重要的手段。

  • 限流:只允许部分请求得到响应和服务,超过的部分将被拒绝服务、排队或等待、降级等处理。

  • 熔断:对向服务不能使用时开启自我保护停止调用,根据业务需要进行相应处理。

  • 降级:有限的服务资源下保留系统核心需求,关闭非核心功能,保障核心正常使用。

Description

  • 丰富的应用场景。控制突发流量在可控制的范围内,消息削峰填谷,集群流量控制,实时熔断下游不可用的应用等等。

  • 完备的实时监控。Sentinel 提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至 500 台以下规模的集群的汇总运行情况。

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

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

下载安装Sentinel 控制台 (sentinel-dashboard.jar)

下载地址:https://github.com/alibaba/Sentinel/releases

1、java -jar sentinel-dashboard.jar
2、http://localhost:8080 打开控制面板

微服务集成 Sentinel

注意:在微服务工程中添加如下依赖

<!--sentinel-->
<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

在微服务工程中添加配置


server:
  port: 20000
spring:
  application:
    name: lanqiao-passenger
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

    sentinel:
      transport:
        dashboard: http://localhost:8080


spring.cloud.sentinel.transport.dashboard 指向的是Sentinel 控制台服务器地址,可以实现流控数据的监控和流控规则的分发。
所有的微服务配置一致,配置完毕之后,可以启动微服务,去Sentinel dashboard 控制台查看,效果如下图:
Description

注意:微服务启动之后,不一定立刻能够在dashboard控制台左侧,看到微服务的监控菜单。你需要访问一下微服的接口地址 ,在去刷新控制台,例如:先请求一下http://localhost:10000/api/passenger/hello ,记得疯狂刷几次才有效果


Comment