SpringCloud入门(三十) ------微服务集成 Sentinel

Sentinel 基本定义:

随着微服务的流行,服务和服务之间的稳定性变得越来越重要。sentinel 以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性。

Sentinel 具有以下特性:
  • 丰富的应用场景: Sentinel 承接了阿里巴巴近10年的双十一大促流量的核心场景,例如面纱,消息削峰填谷,集群流量控制,实时熔断下游不可用应用等。
  • 完备的实时监控: Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台机器秒级数据,甚至500台下规模的集群的汇总运行情况。
  • 广泛的开源生态: Sentinel 提供开箱即用的与其他开源框架/库的整合模块,例如与spring cloud ,dubbo,grpc的整合。您只需要引入相应的依赖并进行简单的配置即可快速的接入 Sentinel。
  • 完善的SPI扩展点: Sentinel 提供简单易用,完善的SPI扩展接口。您可以通过实现扩展接口来快速的定制逻辑。例如指定规则管理,适配动态数据源等。
Sentinel 分为两个部分:
  • 核心库(Java 客户端)不依赖任何框架/库,能够运行于所有 Java 运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。
  • 控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器。

构建Demo

1.下载 sentinel-dashboard.jar(本次使用的是1.7.0版本),并运行(java -jar),浏览器输入url: http://localhost:8080,出现如下界面,代表运行成功:

SpringCloud入门(三十) ------微服务集成 Sentinel_第1张图片
登录的用户名密码全部默认为sentinel。

2.在自己构建的demo中引入Sentinel Jar包
		<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
3.配置yml:
server:
  port: 8501

spring:
  application:
    name: jym-sentinel-service
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
    sentinel:
      transport:
        # 默认8719端口,如果被占用自动从8719 开始 +1 一直找到未被占用的端口为止
        port: 8719
        # 配置sentinel dashboard 地址
        dashboard: localhost:8080

management:
  endpoints:
    web:
      exposure:
        include: "*"

4.启动类:
@SpringBootApplication
@EnableDiscoveryClient
public class SentinelApplication8501 {
     
    public static void main(String[] args) {
     
        SpringApplication.run(SentinelApplication8501.class,args);
    }
}
5.业务代码:
@RestController
public class SentinelController {
     

    @GetMapping("/testB")
    public String testB() {
     
        return "----------testB";
    }
}
启动后需要先访问一下后台资源,然后观看sentinel控制台

SpringCloud入门(三十) ------微服务集成 Sentinel_第2张图片

学习年限不足,知识过浅,说的不对请见谅。

世界上有10种人,一种是懂二进制的,一种是不懂二进制的。

你可能感兴趣的:(springcloud)