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

相关推荐
FrameNotWork1 小时前
HarmonyOS 教学实战(五):路由、页面生命周期与多页面架构
华为·架构·harmonyos
Kyle01232 小时前
计算机体系结构中的中断处理机制:硬件响应与软件识别的协同架构
架构·操作系统·计组
自由生长20242 小时前
C++团队的流式系统之路:从学习成本到实战策略
架构
玩转数据库管理工具FOR DBLENS4 小时前
企业数据架构选型指南:关系型与非关系型数据库的实战抉择
数据库·测试工具·mysql·oracle·架构·nosql
fuzamei8884 小时前
Chain33 Orderbook:去中心化订单簿的创新架构与实现
架构·去中心化·区块链
一水鉴天5 小时前
整体设计 定稿 之7 共享给定表格文档的分析(豆包助手)
人工智能·架构
全靠bug跑5 小时前
Sentinel 服务保护实战:限流、隔离与熔断降级详解
java·sentinel
Codebee5 小时前
A2UI vs OOD全栈方案:AI驱动UI的两种技术路径深度解析
前端·架构
狂炫冰美式7 小时前
当硅基神明撞上人类的“叹息之墙”:距离证明哥德巴赫猜想,AI还有多远?
前端·算法·架构
楠枬7 小时前
OpenFeign
java·spring cloud·微服务