美文网首页程序员
微服务的自动缩放

微服务的自动缩放

作者: RaiseHead | 来源:发表于2018-06-08 15:01 被阅读0次

    自动缩放是一种基于资源使用情况来自动缩放服务实例的方法,通过复制要缩放的服务来满足约定的服务等级协议(SLAs)。

    系统能够自动检测到流量的增加,通过增加额外的实例来提高处理能力。同样当流量下降时,系统也能自动地探测到并且从服务中返回活动着的实例来减少实例的数量。同时还需要确保有一定数量的实例一直处于激活状态并运行着。除此之外,不论是使用物理机还是虚拟机都需要一种自动提供机器的机制,如果是虚拟机的话使用云提供商提供的API更容易处理。

    自动缩放调整可以通过考虑不同的参数和阈值来完成。其中有些是容易处理的,而有些则是复杂的。以下总结了一些通常要遵循的方法:

    通过资源约束进行调整:这种方法是基于通过监控机制来收集服务的实时状态进行判断。通常,资源缩放方法基于CPU、内存或机器磁盘做出决策。它也可以通过查看服务实例本身收集的统计数据来完成,例如堆内存使用。

    通过时间段进行调整:基于时间的缩放是一种基于天、月或年的特定时期来处理季节或业务高峰的方法。例如,一些服务可能会在办公时间内体验到更高的交易数量,而办公时间以外的交易数量则少得多。在这种情况下,白天的时间,服务自动调整以满足需求,并在下班时间自动缩小。

    通过消息队列长度进行调整:当微服务基于异步消息传递时,这是特别有用的方法。在这种方法中,当队列中的消息超出一定的限制时,将自动添加新的消费者。

    通过业务参数进行调整:在这种情况下,添加实例将基于某些业务参数。例如, 在处理销售、结束交易记录之前, 先启动一个新实例。一旦监视服务收到预配置的业务事件,将在预期大量交易的情况下提出新的实例。这将提供基于业务规则的细粒度缩放。

    预设目标进行调整:这是一种新的自定义目标方式,它不同于传统的基于实时度量的方式。预测引擎将采取多种输入,如历史信息、当前趋势等,以预测可能的流量模式。自动量度将根据这些预测来完成。预测自动缩放有助于避免硬编码规则和时间窗口。相反,该系统可以自动预测时间窗口。在更复杂的部署中,预测分析可以使用已有的认知机制来校准自动预测。

    相关文章

      网友评论

        本文标题:微服务的自动缩放

        本文链接:https://www.haomeiwen.com/subject/ikrasftx.html