第九章 分布式系统的流量防卫兵-Sentinel

1.分布式系统的流量防卫兵Sentinel介绍

  • 什么是Sentinel
    阿⾥巴巴开源的分布式系统流控⼯具
    以流量为切⼊点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性
    丰富的应⽤场景:消息削峰填⾕、集群流量控制、实时熔断下游不可⽤应⽤等
    完备的实时监控:Sentinel 同时提供实时的监控功能
    提供开箱即⽤的与其它开源框架/库的整合模块,例如与 Spring Cloud、Dubbo、gRPC 的整合
  • 官网:https://github.com/alibaba/Sentinel/wiki/主页
  • 核⼼概念:
    资源:是 Sentinel 中的核⼼概念之⼀,可以是java程序中任何内容,可以是服务或者⽅法甚⾄代码,总结起来就是我们要保护的东⻄
    规则:定义怎样的⽅式保护资源,主要包括流控规则、熔断降级规则等
    在这里插入图片描述

2.Sentinel依赖引⼊和控制台搭建

  • Sentinel 分为两个部分
    核⼼库(Java 客户端)不依赖任何框架/库,能够运⾏于所有 Java 运⾏时环境,同时对 Dubbo、SpringCloud 等框架也有较好的⽀持
    控制台(Dashboard)基于 Spring Boot 开发,打包后可以直接运⾏,不需要额外的 Tomcat 等应⽤容器
  • 微服务引⼊Sentinel依赖
        <!--引入sentinel-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
  • Sentinel控制台搭建
    官网:https://github.com/alibaba/Sentinel/wiki/控制台
    控制台包含如下功能
    查看机器列表以及健康情况:收集 Sentinel 客户端发送的⼼跳包,⽤于判断机器是否在线
    监控 (单机和集群聚合)通过 Sentinel 客户端暴露的监控API,定期拉取并且聚合应⽤监控信息,最终可以实现秒级的实时监控
    规则管理和推送:统⼀管理推送规则
    鉴权:⽣产环境中鉴权⾮常重要。这⾥每个开发者需要根据⾃⼰的实际情况进⾏定制
//启动 Sentinel 控制台需要 JDK 版本为 1.8 及以上版
本,
//-Dserver.port=8080 ⽤于指定 Sentinel 控制台端⼝
为 8080
//默认⽤户名和密码都是 sentinel
java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar

测试地址 http://192.168.3.104:8080/#/dashboard/metric/sentinel-dashboard
在这里插入图片描述

3.AliababCloud微服务整合Sentinel限流配置

多个微服务接⼊Sentinel配置

spring:
    sentinel:
      transport:
        dashboard: 192.168.3.104:8080
        port: 9006
#dashboard: 8080 控制台端⼝
#port: 9006 本地启的端⼝,随机选个不能被占⽤的,与
#dashboard进⾏数据交互,会在应⽤对应的机器上启动⼀个
#Http Server,该 Server 会与 Sentinel 控制台做交
#互, 若被占⽤,则开始+1⼀次扫描

微服务注册上去后,由于Sentinel是懒加载模式,所以需要访问微服务后才会在控制台出现
在这里插入图片描述
在这里插入图片描述在这里插入图片描述主机 IP 192.168.3.102,虚拟机 IP 192.168.3.104
Sentinel 服务部署在虚拟机中,运行后在向客户端发送心跳时 IP 变为 169 .168.117.1本地回环地址,无法连接到本机客户端
解决方法如下

spring:
    sentinel:
      transport:
        dashboard: 192.168.3.104:8080
        port: 9006
        clientIp: 192.168.3.102 //设置主机IP

验证如下
在这里插入图片描述

限流配置实操在这里插入图片描述
浏览器快速刷新
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值