Watcher基本功能
Watcher是OpenStack中提资源优化服务组件。Watcher项目于2016年6月成为OpenStack Bigtent项目, 目前主要参与的公司有B-com, Intel, ZTE, IBM等。
Watcher提供一个完整的优化循环链:从度量接收器,到优化处理器和操作计划应用程序。Watcher的目标在于提供一个强大的框架,可以实现广泛的云优化目标,包括减少数据中心运营成本,通过智能虚拟机迁移提高系统性能,提高能源效率等。此外,Watcher可供用户定制丰富的资源优化目标与策略算法。
在当前的OpenStack系统中,当用户向Watcher提出某个资源优化目标后,Watcher先从Ceilometer获取该资源相关的数据,并进行初步的计算和分析,随后Watcher找到并执行与目标相应的优化策略,根据数据模型和采集到的历史数据,生成一组可以执行的优化动作(Action),反馈到对应组件。
目前Watcher已有的资源优化目标大多针对计算资源,可执行的动作为虚拟机热迁移。
Watcher组件架构
用户通过CLI/Horizon向Watcher发送请求,调用Watcher API接口,API将接收到的资源优化请求通过AMQP总线发送给Watcher Decision Engine组件,该组件为Watcher的核心组件,接收到请求后选择合适的策略并执行该策略,并生成一系列可执行的动作(Action),再由Watcher Applier组件执行已生成的动作。
Watcher实现负载均衡的流程
参考:
https://wiki.openstack.org/wiki/Watcher
http://docs.openstack.org/developer/watcher/architecture.html
http://docs.openstack.org/developer/watcher/strategies/workload_balance.html