微服务-5-Sentinel

文章目录

  • 1.Sentinel
    • 背景:
    • 简介:
    • 1.1 Sentinel流控规则
      • 阈值类型
      • 限流模式
      • 限流效果
  • 2.总结
    • @SentinelResource注解
    • 什么是限流?
    • 常用限流算法有哪些?
    • Sentinel是如何对请求进行限流的?
    • 为什么要进行限流、降级?
    • 限流中的异常?
    • 如何对限流结果进行处理?
    • Sentinel限流的基本原理?
    • 缓存淘汰算法
    • 四大引用:
    • QPS:

1.Sentinel

背景:

在业务流量变化无常的情况下,为了保证各种业务安全运营,系统不会崩溃,可以在系统负载过高时,采用限流、降级和熔断,三种措施来保护系统,由此 流量控制平台 Sentinel诞生。

简介:

Sentinel是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

1.1 Sentinel流控规则

阈值类型

1.QPS:
当调用相关url对应的资源时,QPS达到单机阈值时,就会限流。
2.线程数:
当调用相关url对应的资源时,线程数达到单机阈值时,就会限流。

限流模式

1.直接(默认)
2.关联:当关联的资源达到阈值,就会限流自己
3.链路:只记录指定链路入口的流量。

限流效果

1.快速失败
2.预热
3.排队

2.总结

@SentinelResource注解

用于描述链路中的资源方法,其中
1)value属性的值用于作为链路节点的名称(自己随意定义)。
2)blockHandlerClass 用于指定处理链路限流异常的类型。
3)blockHandler用于指定blockHandlerClass属性指定的类型中的异常处理方法。

什么是限流?

防止恶意请求流量、恶意攻击,或者防止流量超过系统峰值。限流会用到AOP

常用限流算法有哪些?

计数器、令牌桶、漏斗算法,滑动窗口算法。

Sentinel是如何对请求进行限流的?

基于sentinel依赖提供的拦截器。

为什么要进行限流、降级?

系统处理能力有限,可以通过限流的方式,保证系统可靠运行。

限流中的异常?

在sentinel中,限流异常都是BlockException。

如何对限流结果进行处理?

可以自己定义处理规则-实现BlockExceptonHandler接口。

Sentinel限流的基本原理?

底层对服务请求进行拦截,然后通过流控规则限定对资源访问。

缓存淘汰算法

LRU算法:最近最少使用算法。
FIFO算法:先进先出算法。

四大引用:

强引用,软引用,弱引用,虚引用。

QPS:

QPS 其实是衡量吞吐量的一个常用指标,就是说服务器在一秒的时间内处理了多少个请求。

你可能感兴趣的:(微服务,java,分布式,开发语言)