Sentinel流量防卫兵和组成成分

在分布式系统里,许多服务之间通过远程调用实现信息交互,调用时不可避免会出现调用失败,比如超时、异常等原因导致调用失败,Sentinel能够保证在一个服务出问题的情况下,不会导致整体服务失败,避免级联故障(服务雪崩),以提高分布式系统的弹性。

常用的容错方案或思想

  1. 超时,设置比较短的超时时间,调用不成功,很短时间就释放线程,避免大量线程堵塞等待,导致服务cpu、内存等资源飙高;(快速失败)
  2. 限流,超过设置的阈值就拒绝,比如评估系统的QPS是3000,那么就可以设置限流阈值是2800;
  3. 仓壁保护,就是一艘船不是一个船舱,而是把一个船舱划分为多个船舱,某个船舱进水了,其他船舱都不受到影响;
  4. 断路器,熔断器也有叫断路器,他们表示同一个意思,最早来源于微服务之父 Martin Fowler 的论文 CircuitBreaker 一文,“熔断器”本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,能够及时切断故障电路,防止发生过载、发热甚至起火等严重后果。

What is Sentinel?

随着微服务的流行,服务与服务之间的调用稳定性变得越来越重要。

  1. 当服务访问量达到一定程度,流量扛不住的时候,该如何处理?
  2. 服务之间相互依赖,当服务A出现响应时间过长,影响到服务B的响应,进而产生连锁反应,直至影响整个依赖链上的所有服务,该如何处理?

这是分布式、微服务开发不可避免的问题,Sentinel以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性;

Sentinel主要部分组成:

  • 核心库(Java 客户端):

Sentinel的核心库不依赖任何第三方框架/库,能够运行于所有 Java环境,同时对 Dubbo / SpringBoot / Spring Cloud 等框架也有很好的支持;

  • 控制台(Dashboard)

基于 Spring Boot 开发,打包后可以直接运行,不需要额外的 Tomcat 等应用容器;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值