其他分享
首页 > 其他分享> > 微服务架构 | 5. 服务容灾

微服务架构 | 5. 服务容灾

作者:互联网

@

目录


前言

参考资料
《Spring Microservices in Action》
《Spring Cloud Alibaba 微服务原理与实战》
《B站 尚硅谷 SpringCloud 框架开发教程 周阳》

当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理,从而释放服务器资源以保证核心交易正常运作或高效运作;


1. 服务容灾基础知识

1.1 由一个服务资源耗尽引发的连锁反应

服务资源耗尽引发的连锁反应

1.2 服务雪崩效应

服务雪崩效应

1.3 四种客户端弹性模式

四种客户端弹性模式

1.4 服务容灾的几种解决方案

1.5 服务降级的参考指标

1.6 服务限流的作用

1.7 常见的几种限流算法

1.7.1 计数器算法

计数器算法

1.7.2 滑动窗口算法

滑动窗口算法

1.7.3 令牌桶算法

令牌桶算法

1.7.4 漏桶限流算法

漏桶限流算法

1.8 利用 Postman 模拟请求高并发场景

Postman 里新建多线程集合组

右键添加请求

将访问地址添加进新新线程组

使用 postman 密集访问 testA

1.9 目前几种流行的服务降级组件对比

比较项 Hystrix Sentinel Resilience4j
贡献者 Netflix Alibaba Apache 基金会
隔离策略 线程池隔离/信号量隔离 信号量隔离(并发线程数限流) 信号量隔离
熔断降级策略 基于异常比率 基于响应时间、异常比率、异常数 基于异常比率、响应时间
实时统计实现 滑动窗口(基于 RxJava) 滑动窗口(LeapArray) Ring Bit Buffer
动态规则配置 支持多种数据源 支持多种数据源 有限支持
扩展性 插件的形式 多个扩展点 接口的形式
基于注解的支持 支持 支持 支持
限流 有限的支持 基于 QPS,支持基于调用关系的限流 Rate Limiter
流量整形 不支持 支持预热模式、匀速器模式、预热排队模式 简单的 Rate Limiter模式
系统自适应保护 不支持 支持 不支持
控制台 简单的监控查看 提供开箱即用的控制台,可配置规则、查看秒级监控、机器发现等 不提供控制台,可对接其它监控系统

2. Hystrix

Hystrix 是一个延迟和容灾库,旨在隔离远程系统、服务和第三方库的访问点,停止级联故障,并在故障不可避免的复杂分布式系统中实现弹性;


3. Sentinel

Sentinel 是面向分布式服务架构的轻量级流量控制组件,主要以流量为切入点,从限流、流量整形、服务降级、系统负载保护等多个维度来帮助我们保障微服务的稳定性;


4. Resilience4j

Resilicence4j 一款非常轻量、简单,并且文档非常清晰、丰富的熔断工具,这也是Hystrix官方推荐的替代产品。不仅如此,Resilicence4j 还原生支持Spring Boot 1.x/2.x,而且监控也支持和 prometheus 等多款主流产品进行整合



最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!

标签:令牌,调用,架构,算法,限流,容灾,服务,窗口
来源: https://www.cnblogs.com/dlhjw/p/15851835.html