前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sentinel流量卫兵

Sentinel流量卫兵

作者头像
别团等shy哥发育
发布2023-02-25 15:26:25
4000
发布2023-02-25 15:26:25
举报

文章目录

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 下载

代码语言:javascript
复制
https://github.com/alibaba/Sentinel/releases
在这里插入图片描述
在这里插入图片描述

4.2 启动

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

代码语言:javascript
复制
java -Dserver.port=9191 -jar  sentinel-dashboard-1.7.2.jar

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

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

4.3 访问web界面

代码语言:javascript
复制
http://localhost:9191/#/login
在这里插入图片描述
在这里插入图片描述

4.4 登录

用户名和密码都是sentinel

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

5、sentinel实时监控服务

5.1 创建项目并引入依赖

代码语言:javascript
复制
 <!--引入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 配置

代码语言:javascript
复制
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 启动并进行服务调用

代码语言:javascript
复制
http://localhost:8998/demo
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.6 查看实时监控界面

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 1、什么是Sentinel
  • 2、Sentinel的特性:
  • 3、两个重要概念
    • 3.1 资源
      • 3.2 规则
      • 4、Sentinel Dashboard使用
        • 4.1 下载
          • 4.2 启动
            • 4.3 访问web界面
              • 4.4 登录
              • 5、sentinel实时监控服务
                • 5.1 创建项目并引入依赖
                  • 5.2 配置
                    • 5.3 启动服务并访问dashboard界面查看服务监控
                      • 5.4 开发服务
                        • 5.5 启动并进行服务调用
                          • 5.6 查看实时监控界面
                          相关产品与服务
                          消息队列 TDMQ
                          消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档