本文主要是介绍架构上一些专有名词定义,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 服务降级:
在服务负荷超出整体负载能力时,保证重要或基本服务正常运行,非重要服务延迟使用或暂停使用。
2. 服务熔断:
当下游服务因访问压力过大而相应变慢或失败,上游服务为了保护系统整体的可用性,切断对下游服务的调用。服务熔断会有三个状态:
Closed
:熔断器关闭状态,调用失败次数积累,到了阈值(或一定比例)则启动熔断机制;
Open
:熔断器打开状态,此时对下游的调用都内部直接返回错误,不走网络,但设计了一个时钟选项,默认的时钟达到了一定时间(这个时间一般设置成平均故障处理时间,也就是MTTR),到了这个时间,进入半熔断状态;
Half-Open
:半熔断状态,允许定量的服务请求,如果调用都成功(或一定比例)则认为恢复了,关闭熔断器,否则认为还没好,又回到熔断器打开状态;
3. 限流:
限流即限制系统的
输入输出流量
以达到保护系统的目的。一般来说,系统的吞吐量是可以测算的,为了保证系统稳定运行,一旦达到需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的,比如延迟处理,拒绝处理,或者部分拒绝处理等,可以认为是服务降级的一种。
限流方案种类:
• 资源隔离限流会将对应的资源按照指定的类型进行隔离,比如线程池和信号量。
• 计数器限流,例如5秒内技术1000请求,超数后限流,未超数重新计数
• 滑动窗口限流,解决计数器不够精确的问题,把一个窗口拆分多滚动窗口
• 令牌桶限流,类似景区售票,售票的速度是固定的,拿到令牌才能去处理请求
• 漏桶限流,生产者消费者模型,实现了恒定速度处理请求,能够绝对防止突发流量
流量控制效果从好到差依次是:漏桶限流 > 令牌桶限流 > 滑动窗口限流 > 计数器限流
4.流量回放自动化测试
流量捕捉、数据复制、数据脱敏、影子环境、数据比对
这篇关于架构上一些专有名词定义的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!