风暴拓扑中资源的自动扩展
在分布式流处理领域,为满足用户定义的性能和成本约束,实现资源的自动扩展至关重要。传统规则在自动定义拓扑配置参数方面存在不足,而 ARiSto 系统为解决这一问题提供了有效的解决方案。
传统配置方式的局限
传统上,根据用户定义的优化指标(如吞吐量、延迟)自动定义特定拓扑的配置参数,现有的规则较为模糊,无法直接使用。用户仍需自行定义配置,这往往导致一个耗时的迭代试错过程。在这个过程中,用户运行拓扑,手动监控运行时性能,并评估配置是否满足期望。即使经过多次迭代,用户最终可能得到次优配置,且由于其静态特性,无法适应不断变化的工作负载条件。
ARiSto 系统架构
ARiSto 是基于 Apache Storm 实现的系统,它提供拓扑并行性参数的自动配置以及已分配资源的自动扩展,以持续满足用户定义的吞吐量约束,即使在负载发生变化后也能如此。ARiSto 采用了两种机制:
1. 动态在线机制 :与拓扑并行运行,根据当前条件被动地找到最优配置。
2. 静态离线机制 :结合机器学习技术和遗传算法,利用拓扑先前运行的知识来预测接近最优的配置。
这两种机制的共同基础是使用拓扑每个组件的性能信息,这些信息通过监控拓扑指标来获取。低级别组件指标(如执行的元组数量、发出的元组数量、延迟、组件容量等)会定期被检索,并转换为更高级别的组合指标(如执行率、加权平均延迟、拓扑容量等),这些指标可用于训练机器学习模型或实时使用。
动态机制
动态机制根据用户为拓扑定义的目标吞吐量,跟踪监控指标,并在必要时实时决
超级会员免费看
订阅专栏 解锁全文
1196

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



