MST

星途 面试题库

面试题:微服务架构下基于CPU使用率的弹性伸缩策略有哪些常见的触发条件?

在基于CPU使用率的微服务弹性伸缩策略中,通常会设定一些触发条件来决定是否进行伸缩操作。请阐述至少3种常见的触发条件,并说明其背后的设计原理。
34.6万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试

1. CPU使用率持续高于阈值

  • 触发条件:当微服务的CPU使用率在连续一段时间(如5分钟)内,持续高于预先设定的阈值(如80%),则触发扩容操作。
  • 设计原理:CPU使用率长时间处于高位,表明当前微服务实例处理请求的能力接近饱和。通过扩容增加实例数量,可分摊负载,避免因处理能力不足导致服务响应变慢或请求丢失,保障服务的可用性和性能。

2. CPU使用率波动超过一定范围

  • 触发条件:在短时间内(如1分钟),CPU使用率的波动幅度超过预设范围(例如从40%瞬间飙升至70%且波动差值超过30%),触发伸缩操作。
  • 设计原理:CPU使用率的大幅波动可能意味着突发的流量变化。快速的伸缩操作能够及时应对这种突发情况,防止服务因无法适应流量变化而出现故障。同时,相较于单纯依赖使用率阈值,考虑波动范围可以更灵敏地捕捉到流量的动态变化。

3. CPU使用率低于阈值且持续一段时间

  • 触发条件:若微服务的CPU使用率在连续的较长时间(如15分钟)内,一直低于设定的较低阈值(如30%),则触发缩容操作。
  • 设计原理:长时间的低CPU使用率说明当前微服务实例的资源利用率较低,存在浪费。通过缩容减少实例数量,可以降低资源成本,实现资源的优化配置,提高整体系统的资源使用效率。