【微服务】【Sentinel】认识Sentinel

文章目录

  • [1. 雪崩问题](#1. 雪崩问题)
  • [2. 解决方案](#2. 解决方案)
  • [3. 服务保护技术对比](#3. 服务保护技术对比)
  • [4. 安装 Sentinel](#4. 安装 Sentinel)
    • [4.1 启动控制台](#4.1 启动控制台)
    • [4.2 客户端接入控制台](#4.2 客户端接入控制台)
  • 参考资料:

1. 雪崩问题

  • 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。
  • 动图演示:
    • 在微服务系统中,服务A依赖于服务B、服务D
    • 某一时刻服务D故障,导致依赖于服务D的服务A的请求也无法及时释放
    • 随着时间积累,服务A的tomcat连接数被故障的请求占满,导致服务A也不可用
    • 以此类推,导致微服务系统中此链路的所有服务都不可用
    • 看起来就和雪崩一样,从某一块雪滑落扩展到整个山坡。

2. 解决方案

  • 超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待。
  • 舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离。
  • 熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求。
  • 流量控制:限制业务访问的QPS,避免服务因流量的突增而故障。

3. 服务保护技术对比

4. 安装 Sentinel

  • Sentinel是阿里巴巴开源的一款微服务流量控制组件。
  • 可以按照官方文档操作,都有详细步骤。
  • 官网地址(可能打不开...)

4.1 启动控制台

  1. 下载jar包
  2. 启动服务
    java -jar sentinel-dashboard-1.8.8.jar
  3. 登录控制台
    访问 http://localhost:8080 地址,
    用户名、密码 都是 sentinel

4.2 客户端接入控制台

  1. 引入依赖
xml 复制代码
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>
  1. 配置修改
yaml 复制代码
    sentinel:
      transport:
        dashboard: localhost:8080
  1. 启动服务测试

访问接口,我这里有个test的接口

在浏览器调用后,再查看sentinel控制台,就可以看到

参考资料:

https://www.bilibili.com/video/BV1ou411a75C/?spm_id_from=333.337.search-card.all.click&vd_source=2ff628f5c812d7a3a5d93833fb99badf

相关推荐
网络安全(king)4 小时前
网络安全知识:网络安全网格架构
安全·web安全·架构
落落落sss8 小时前
MongoDB
数据库·windows·redis·mongodb·微服务·wpf
黄名富9 小时前
Spring Cloud — 深入了解Eureka、Ribbon及Feign
分布式·spring·spring cloud·微服务·eureka·ribbon
小丑西瓜6669 小时前
分布式简单理解
linux·redis·分布式·架构·架构演变
LUCIAZZZ10 小时前
SkyWalking快速入门
java·后端·spring·spring cloud·微服务·springboot·skywalking
郁大锤11 小时前
luci界面开发中的MVC架构——LuCI介绍(二)
架构·mvc
黄名富13 小时前
Spring Cloud — Hystrix 服务隔离、请求缓存及合并
java·分布式·spring·spring cloud·hystrix·微服务
KevinAha14 小时前
软件架构设计:软件工程
架构
码上淘金15 小时前
Apache Flink架构深度解析:任务调度、算子数据同步与TaskSlot资源管理机制
大数据·架构·flink
ITPUB-微风15 小时前
云原生监控体系建设:Kubernetes架构下的全面监控策略
云原生·架构·kubernetes