SpringCloud Alibaba 入坑(三)Sentinel入门

超详细的Java知识点路线图



前言

上一篇 SpringCloud Alibaba 入坑(二)Nacos 配置中心


上篇文章介绍了nacos作为配置注册中心,本文将介绍下组件Sentinel的用法。


服务雪崩

微服务架构中经常会出现多个服务级联调用的情况,如下图所示:A作为服务提供者,B作为服务消费者,B调用A,C又调用B,D又调用C,如果A出现问题,那么可能导致B调用失败,B出现问题又会导致C调用失败,这样问题不断向上延伸,导致整个系统不可用,也就是服务雪崩了。
导致服务雪崩原因有很多,比如:流量激增、缓存问题、硬件故障、程序bug、线程长时间等待等。
在这里插入图片描述
在这里插入图片描述

Sentinel是啥?

在这里插入图片描述

Sentinel翻译过来就是哨兵,从字面上理解就是国家如果出现了任何的状况,他会第一时间出现,把危险拦在外面。
阿里巴巴的Sentinel组件就是分布式系统的哨兵,它从流量控制、熔断降级、负载保护等多个方面对系统进行保护。

Sentinel的主要特性:
在这里插入图片描述

Sentinel VS Hystrix

在SpringCloud Netflix中有一个类似的组件:Hystrix 豪猪,下面我们把哨兵和豪猪进行对比:
在这里插入图片描述
可以看到Sentinel的功能更加完善,它的最大特点是有一套Web控制台界面,方便监控和配置各种限流规则,而且Hystrix早已停止更新了,显然Sentinel是它的最佳替代者。

安装Sentinel

到Sentinel官网下载jar包,这里使用的版本是1.8.0
https://github.com/alibaba/Sentinel/releases

在这里插入图片描述

运行Sentinel的前提是安装了Java环境,Windows系统中打开cmd命令行,切换到jar包所在目录,输入:

java -jar sentinel-dashboard-1.8.0.jar

就可以看到Sentinel的启动日志
在这里插入图片描述
在浏览器输入 http://localhost:8080 就可以看到控制台界面,账号密码默认都是sentinel

在这里插入图片描述
登录进去会发现:啥都没有

在这里插入图片描述

使用Sentinel

下面我们在之前的nacos案例基础上加入Sentinel,还没了解过nacos的,上面有链接哦。
1、给provider-service服务添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>

2、application.yml

server:
  port: 8888
spring:
  application:
    name: provider-service
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.7.188:8848
    sentinel:
      transport:
        dashboard: 192.168.7.188:8080 # sentinel 控制台的地址
        port: 8719  # sentinel的端口
management:
  endpoints:
    web:
      exposure:
        include: '*'

3、添加测试的控制器

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello sentinel!!";
    }
}

4、启动nacos服务,再启动sentinel控制台,然后启动provider-service服务
在nacos里面可以看到该服务
在这里插入图片描述
5、在浏览器上输入:http://localhost:8888/hello
在这里插入图片描述
然后我们会发现Sentinel的控制台,出来东西了

在这里插入图片描述
这就表示我们成功启动了Sentinel,并且用它监控了我们服务的接口调用情况。


总结

今天简单介绍了Sentinel这个哨兵的入门使用方法,当然更重要的是如何使用Sentinel来实现限流、熔断、降级等操作,这将在下篇文章中介绍,如果文章对你有帮助,点个赞吧:)


大家如果需要学习其他Java知识点,戳这里 超详细的Java知识点汇总

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒哥~Bingo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值