史上最全 SpringCloudAlibaba入门教程,从零开始带你深入♂学习(七)——sentinel组件的安装和使用

SpringCloudAlibaba(七)——sentinel组件的安装和使用

Sentinel简介

随着微服务的普及,服务调用的稳定性变得越来越重要。Sentinel以“流量”为突破口,在流量控制、断路、负载保护等多个领域进行工作,保障服务可靠性。

通俗来讲:用来在微服务系统中保护微服务对的作用 如何 服务雪崩 服务熔断 服务降级 就是用来替换hystrix

特性

  • 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等
    领取资料

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

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

sentinel提供了两个服务组件:

一个是 sentinel 用来实现微服务系统中服务熔断、降级等功能。 这点和hystrix 类似
一个是 sentinel dashboard 用来监控微服务系统中流量调用等情况 流控 熔断 降级 配置。 这点和hystrix dashboard类似

Sentinel的构建

1、下载Sentinel https://github.com/alibaba/Sentinel/

image

2、上传到linux服务器

3、启动

java -Dserver.port=9191 -jar  sentinel-dashboard-1.7.2.jar

领取资料

4、访问9191端口的web管理页面

image

5、输入账号密码为sentinel进行登陆

image

Sentinel的使用

1、停止nacos集群

2、启动nacos单机模式

./nacos/bin/startup.sh -m standalone

3、新建一个子模块springcloudAlibaba-sentinel-8998

4、添加相关依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--nacos client-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--引入sentinel依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
    </dependencies>

领取资料

5、编写配置文件

server.port=8998
spring.application.name=SENTINEL

#nacos server地址
spring.cloud.nacos.server-addr=localhost:8848

#开启sentinel保护
spring.cloud.sentinel.enabled=true
#指定sentinel dashboard web管理地址
spring.cloud.sentinel.transport.dashboard=localhost:9191
#指定sentinel组件与sentinel dashboard通信地址
#dashboard端口号默认8719
spring.cloud.sentinel.transport.port=8719

6、编写controller

package com.study.springcloudAlibaba.controller;

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

@RestController
public class DemoController {

    @RequestMapping("/demo")
    public String demo(){
        return "demo ok!!!";
    }
}

7、启动项目,调用一次/demo,再去观察sentinel

image

image

Sentinel中对系统保护的五大规则

领取资料

一、流控规则:流量控制(flow control

  • 其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。

二、降级规则:熔断降级(Degrade Service)

  • 其原理是监控应用中的资源调用请求,达到指定阀值时自动出发熔断降级

三、热点规则:热点参数规则(ParamFlow)

  • 其原理是很多时候我们希望统计某个热点数据中访问频次最高的 TOP K 数据,并对其进行限制

四、系统规则:系统自适应限流(SysetmFlow)

  • 其原理是 Sentinel 系统自适应限流从整体维度对应用入口流量进行控制

五、授权规则:来源访问控制(黑白名单)规则(AuthorityRule)

  • 很多时候,我们需要根据调用来源来判断次该请求是否允许放行,这时候可以使用 Sentinel 的来源访问控制(黑白名单控制)的功能。来源访问控制根据资源的请求(origin)限制资源是否通过,若配置白名单则只有请求来源白名单内时才可通过;若配置黑名单则请求所在黑名单时不通过,其余的请求通过。

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。 可以的话请给我一个三连支持一下我哟,我们下期再见

领取资料

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值