Sentinel流量卫兵

举报
别团等shy哥发育 发表于 2023/02/04 11:46:52 2023/02/04
【摘要】 1、什么是Sentinelgithub官网:https://github.com/alibaba/Sentinel中文文档:https://sentinelguard.io/zh-cn/docs/introduction.html  Sentinel是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维...

1、什么是Sentinel

github官网:https://github.com/alibaba/Sentinel
中文文档:https://sentinelguard.io/zh-cn/docs/introduction.html
  Sentinel是阿里中间件团队开源的,面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性

该组件可以替换hystrix了。

  sentinel提供了两个服务组件:

  • sentinel:用来实现微服务系统中服务熔断、降级等功能。
  • sentinel dashboard:用来监控微服务系统中流量调用等情况(和hystrix dashboard类似)。

2、Sentinel的特性:

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

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

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

3、两个重要概念

3.1 资源

可以是Java应用程序中的任何内容,例如,由应用程序提供的服务或有应用程序调用其它应用提供的服务,甚至可以是一段代码。

3.2 规则

围绕资源的实时状态设定的规则,可以包括流量控制规则、熔断降级规则以及系统保护规则。所有规则可以动态实时调整。

4、Sentinel Dashboard使用

4.1 下载

https://github.com/alibaba/Sentinel/releases

在这里插入图片描述

4.2 启动

仪表盘是个jar包可以直接通过java命令启动 如: java -jar 方式运行 默认端口为 8080

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

  这里我是在windows上面启动的,刚开始在linux上启动的时候,sentinel实时监控和流量控制有点问题。
在这里插入图片描述

4.3 访问web界面

http://localhost:9191/#/login

在这里插入图片描述

4.4 登录

用户名和密码都是sentinel
在这里插入图片描述

5、sentinel实时监控服务

5.1 创建项目并引入依赖

 <!--引入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>

在这里插入图片描述

5.2 配置

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

#nacos server
spring.cloud.nacos.server-addr=192.168.159.22:8848


# 开启sentinel保护
spring.cloud.sentinel.enabled=true
#指定sentinel dashboard的web地址
spring.cloud.sentinel.transport.dashboard=localhost:9191
#指定sentinel组件与sentinel dashboard组件通信地址
spring.cloud.sentinel.transport.port=8719

在这里插入图片描述

5.3 启动服务并访问dashboard界面查看服务监控

在这里插入图片描述
发现界面什么都没有?
默认情况下sentinel为延迟加载,不会在启动之后立即创建服务监控,需要对服务进行调用时才会初始化。

5.4 开发服务

在这里插入图片描述

5.5 启动并进行服务调用

http://localhost:8998/demo

在这里插入图片描述
在这里插入图片描述

5.6 查看实时监控界面

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。