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

相关推荐
正在走向自律29 分钟前
从感知到自主决策:机器人技术的演进、核心架构与产业落地全景解析
架构·机器人·人形机器人·宇数机器人·医疗服务
木木学AI8 小时前
AI客服系统技术选型:Agentic架构与传统规则引擎的能力差异评估
人工智能·架构
沉静的小伙13 小时前
在微服务中使用领域事件
java·运维·微服务
满意的星月13 小时前
基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)
docker·微服务·架构
doiito14 小时前
微服务资源优化新思路:Sablier + Podman 实现按需启动与自动休眠
后端·微服务·性能优化
以和为贵14 小时前
前端也能搞懂 Agent:从 Function Calling 到自主编排
前端·人工智能·架构
会周易的程序员14 小时前
使用 pybind11 封装 C++ 日志库 microLog 为 Python 模块
java·c++·python·物联网·架构·日志·aiot
为自己_带盐14 小时前
.NET 项目集成可观测性:从架构思考到落地实践
架构
熊猫钓鱼>_>14 小时前
2026 前端的三场底层革命:当 Vue、React Native 和 Three.js 同时去掉中间层
前端·javascript·vue.js·react native·架构·webgl·three.js
微三云 - 廖会灵 (私域系统开发)16 小时前
电商系统微服务拆分实战:从单体到Spring Cloud的分布式事务踩坑与补偿方案
分布式·spring cloud·微服务