
190
第
6
章
先进的方法
鉴于以最适合的方式使用弹性云开发的重要性,业界和学术界已经提出了一些先
进的技术。例如,
Facebook
采用经典控制理论和比例积分(
PI
)控制器实现快速
反应时间。
Netflix
开发了两种预测算法,其中一种是基于增广线性回归的算法,
另一种是基于快速傅立叶变换(
FFT
)的预测算法。
Netflix
方法的一个关键点是
它的可预测性。具体来说,它的方法学习基于历史数据的请求模式,并随后驱动
放大或缩小操作。这两种方法都已部署到生产环境中。鉴于没有进行横向比较分析,
很难评估这些技术与之前的技术有怎样的冲突。
基于控制理论、排队论、模糊逻辑、神经网络、强化学习、支持向量机、小波变
换、样条回归、模式匹配、卡尔曼滤波、滑动窗口、比例阈值、二阶回归、直方图、
时间
–
系列模型、割线法、投票系统、超前控制等自动扩容的很多方法已经提出来。
在大多数情况下,这些技术“从过去的流量模式和资源使用中学习”,因此无法
适应任何可能由于
Web
流量的动态特性而出现的新模式。
注意
更多信息参见本章后面的
“
延展阅读
”。
在实践中,由于各种各样的原因基于上述方法的自动扩容的适用性是有限的。例如,
基于强化学习的方法需要很长时间才能学习和适应缓慢变化的条件。因此不能将
这种技术应用于通常会遭遇突发流量的实际应用程序扩容过程中。类似地,基于
排队理论的方法对实际复杂系统通常是无效的。此外,这种方法的目的是为了应
对不变的情况,如果应用条件变化,你需要重新计算排队模型。在基于控制理论
的方法中,确定增益参数是意义重大的。
小结
有时候 ...