MST
星途 面试题库

面试题:微服务架构下云原生环境中微服务弹性伸缩的常见策略有哪些

在云原生环境下的微服务架构里,阐述几种常见的微服务弹性伸缩策略,并说明它们适用的场景。
21.3万 热度难度
后端开发微服务架构

知识考点

AI 面试

面试题答案

一键面试

基于 CPU 使用率的弹性伸缩策略

  • 策略描述:监控微服务实例的 CPU 使用率,当 CPU 使用率持续超过设定的阈值(如 80%),则自动增加实例数量;当 CPU 使用率持续低于设定阈值(如 40%),则自动减少实例数量。
  • 适用场景:适用于计算密集型的微服务,例如数据处理、复杂算法运算等场景。这类微服务的负载主要由 CPU 性能决定,通过基于 CPU 使用率的伸缩能有效应对负载变化。

基于内存使用率的弹性伸缩策略

  • 策略描述:实时监测微服务实例的内存使用情况,若内存使用率长时间高于某一阈值(如 70%),启动增加实例操作;当内存使用率长时间低于特定阈值(如 30%),减少实例数量。
  • 适用场景:适合处理大量数据缓存、复杂对象存储等内存密集型微服务。例如缓存服务,其性能受内存限制明显,基于内存使用率的弹性伸缩可保证服务性能。

基于请求量的弹性伸缩策略

  • 策略描述:统计单位时间内微服务接收到的请求数量,当请求量超过一定阈值(如每秒 1000 个请求),增加实例;当请求量低于另一阈值(如每秒 200 个请求),减少实例。
  • 适用场景:对于以处理外部请求为主,且请求处理时间相对稳定的微服务,如 Web 前端服务、API 网关等非常适用。通过请求量来伸缩可直接响应业务流量变化。

基于时间的弹性伸缩策略

  • 策略描述:根据预先设定的时间计划进行微服务实例数量调整。例如在工作日上午 9 点到下午 5 点业务高峰时段,设置较多的实例数量;在凌晨等业务低谷时段,减少实例数量。
  • 适用场景:业务流量具有明显时间规律的场景,如电商平台的促销活动时段、银行系统月初月末业务繁忙时段等。提前根据时间规律调整实例数量,可有效利用资源。