校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 项目框架 > Spring cloud微服务的稳定性
题目

采用微服务架构后,当分布式系统到达一定量级时,每个环境都可能出错,因此在系统设计时应该考虑如何减轻故障的影响?

解答

采用微服务架构后,当分布式系统到达一定量级时,每个环境都可能出错,因此在系统设计时应该考虑如何减轻故障的影响,如何从故障中快速恢复。

一般从以下两点来考察系统的稳定性:
高可用:当前服务依赖的下游服务性能降低或者失败时,该服务怎么相应,是快速失败还是重试?大促时如何应对瞬间涌入的流量?
高并发:底层服务如何保证服务的吞吐量?如何提高消费者的处理速度?

高可用:

1.限流:
限流算法:计数器法、漏桶算法、令牌桶算法

2.断路器
Hystrix是由Netflix开源的一个延迟和容错库,用于隔离访问远程系统、服务或者第三方库,防止级联失败,从而提升系统的可用性、容错性与局部应用的弹性,是一个实现了超时机制和断路器模式的工具类库。
Hystrix主要提供4个功能:断路器、隔离机制、请求聚合和请求缓存。

3.超时与重试
在微服务系统中,如果上游应用没有设置合理的超时和重试机制,则会造成请求响应变慢,慢请求会积压并耗尽系统资源。超时机制应该和限流、断路器配合使用,最终实现微服务系统的稳定性。

高并发:
几种常见的高并发策略如下:
1.异步:提高业务过程中可异步部分的占比,提高异步部分的执行效率
2.缓存:将频繁访问的数据存储在离业务处理逻辑更近的地方
3.池化:对于创建起来比较消耗资源的对象进行缓存

C 0条回复 评论

帖子还没人回复快来抢沙发