微服务自动伸缩与日志监控
1. 微服务自动伸缩
1.1 自动伸缩的不同方式
1.1.1 基于时间的伸缩
许多机场对夜间降落有限制,导致机场夜间办理登机手续的乘客数量比白天少。因此,在夜间减少实例数量具有成本效益。
1.1.2 基于消息队列长度的伸缩
当微服务基于异步消息传递时,这种伸缩方式特别有用。在这种方法中,当队列中的消息超过一定限制时,会自动添加新的消费者。它基于竞争消费者模式,使用一组实例来消费消息,并根据消息阈值添加新实例以处理额外消息。
1.1.3 基于业务参数的伸缩
添加实例基于某些业务参数,例如在处理销售结束交易之前启动一个新实例。一旦监控服务接收到预配置的业务事件(如销售结束前 1 小时),就会启动一个新实例以应对大量交易。这将基于业务规则对伸缩提供细粒度控制。
1.1.4 预测性自动伸缩
预测性伸缩是一种不同于传统基于实时指标的自动伸缩的新模式。预测引擎会获取多个输入,如历史信息、当前趋势等,以预测可能的流量模式,并基于这些预测进行自动伸缩。它有助于避免硬编码规则和时间窗口,系统可以自动预测这些时间窗口。在复杂的部署中,预测分析可能使用认知计算机制来预测自动伸缩。例如,在计划停机后立即处理大量请求时,传统自动伸缩可能无法应对,而预测系统可以在实际情况发生之前理解并预测这些场景。Netflix Scryer 就是一个可以提前预测资源需求的系统示例。
1.2 自动伸缩系统的组件
一个典型的自动伸缩系统包含以下组件:
| 组件 | 描述 |
| — | — |
超级会员免费看
订阅专栏 解锁全文
5

被折叠的 条评论
为什么被折叠?



