SpringCloud Aliba-Sentinel【上篇】-从入门到学废【4】

🎵诗词分享🎵

大江东去,浪淘尽,千古风流人物。

------苏轼《念奴娇·赤壁怀古》

目录

🍿1.Sentinel是什么

🧂2.特点

🧈3.下载

🌭4.sentinel启动

🥓5.实例演示


1.Sentinel是什么

  • Sentinel是一个开源的分布式系统的实时监控和故障自愈平台。
  • 它由阿里巴巴开源,用于监控和保护云原生应用的稳定性。
  • 实时监控应用程序在生产环境中的运行情况。
  • 通过实时统计和告警功能检测应用中的错误和异常,并提供自愈功能来保障应用的稳定性和可靠性。

2.特点

  • 1.实时监控实时监控各个微服务的运行情况,包括请求流量、成功率、RT(响应时间)等指标,并提供实时告警功能。
  • 2.流量控制:根据设定的流量规则,对请求进行限流,防止系统被过多的请求压垮。
  • 3.熔断降级:根据系统的负载情况,自动进行熔断降级,防止故障扩散和影响整个系统的稳定性。
  • 4.系统自愈:通过自动的故障自愈机制,自动恢复异常的微服务,保证整个应用的可用性。

3.下载

官网:https://github.com/alibaba/Sentinel/releases/tag/1.7.0

小张提示:如果GitHub打不开,记得更改hosts文件~

4.sentinel启动

  • 1.8080端口不要占用
  • 2.jdk8环境
  • 3.密码:sentinel 账号:sentinel
  • 1.直接使用java -jar启动sentinel的jar包
  • 2.访问浏览器localhost:8080
  • 3.登录

5.实例演示

1.创建工程

  • 1.在父工程下创建cloudalibaba-sentinel-service8401
  • 2.注意jdk和maven版本

2.加pom

XML 复制代码
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--springCloud alibaba Naocs-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--持久化-->
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-datasource-nacos</artifactId>
        </dependency>
        <!--Sentinel-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
        <!--openFeign-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>

3.改yml

小张这里的nacos是集群模式

Groovy 复制代码
server:
  port: 8401

spring:
  application:
    name: cloudalibaba-sentinel-service

  cloud:
    nacos:
      discovery:
        #nacos服务注册中心
        server-addr: 192.168.20.50:1111
    sentinel:
      transport:
        #sentinel dashboard地址
        dashboard: localhost:8080
        #默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
        port: 8719

management:
  endpoints:
    web:
      exposure:
        include: '*'

4.主启动类

java 复制代码
@SpringBootApplication
@EnableDiscoveryClient
public class MainApp8401 {
    public static void main(String[] args) {
        SpringApplication.run(MainApp8401.class);
    }
}

5.业务类

java 复制代码
@RestController
public class FlowLimitController {

    @GetMapping("/testA")
    public String getTestA(){
        return "-----TestA------";
    }

    @GetMapping("/testB")
    public String getTestB(){
        return "-----TestB------";
    }
}

6.测试

1.启动sentinel和nacos

2.浏览器访问localhost:8080

3.浏览器访问192.168.20.50:1111

注意:执行一下controller再访问

相关推荐
乾元几秒前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构
摇滚侠几秒前
Java,举例说明,函数式接口,函数式接口实现类,通过匿名内部类实现函数式接口,通过 Lambda 表达式实现函数式接口,演变的过程
java·开发语言·python
Tony Bai3 分钟前
“Go 2,请不要发生!”:如果 Go 变成了“缝合怪”,你还会爱它吗?
开发语言·后端·golang
ghostwritten3 分钟前
春节前夕,运维的「年关」:用 Kubeowler 给集群做一次「年终体检」
运维·云原生·kubernetes
打工的小王4 分钟前
java并发编程(七)ReentrantReadWriteLock
java·开发语言
lang201509284 分钟前
Java并发革命:JSR-133深度解析
java·开发语言
abluckyboy6 分钟前
基于 Java Socket 实现多人聊天室系统(附完整源码)
java·开发语言
Re.不晚10 分钟前
JAVA进阶之路——数据结构之线性表(顺序表、链表)
java·数据结构·链表
毅炼10 分钟前
Java 基础常见问题总结(3)
java·开发语言
亓才孓19 分钟前
[JDBC]事务
java·开发语言·数据库