【微服务】【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

相关推荐
咖啡星人k4 小时前
云端开发环境技术架构深度解析:从容器隔离到AI Agent集成
人工智能·架构
papaofdoudou5 小时前
软件工程中的正交性:内涵、外延与架构案例
架构
跨境数据猎手8 小时前
复刻Cssbuy跨境淘宝代购集运系统搭建方案
爬虫·架构·系统架构
这个DBA有点耶8 小时前
COUNT进阶(续):超大表去重计数的极致优化
数据库·架构·代码规范
贺国亚9 小时前
Agent参考架构
架构
程序员魔丸10 小时前
AI领域智能体(Agent)详细介绍
架构·agent
@insist12310 小时前
系统架构设计师-特定领域软件架构与软件产品线
架构·系统架构·软考·系统架构设计师·软件水平考试
阿里云云原生10 小时前
阿里云微服务引擎 MSE 及 API 网关 2026 年 5 月产品动态
微服务