弹性并行树搜索应用的开发与运行
在云计算环境中,并行树搜索应用面临着诸多挑战,如任务分配、负载均衡、任务迁移等。本文将介绍一种名为 TASKWORK 的系统,它能够有效应对这些挑战,实现弹性并行树搜索应用的高效开发与运行。
1. 任务池执行模型
在云计算环境中,任务通常需要通过网络进行传输,以实现负载均衡。常见的任务池执行模型有集中式和分布式两种。
- 集中式任务池执行模型 :实现简单,因为集中式实例对系统状态有全面的了解,例如知道哪个计算节点正在执行哪个任务。但对于大量访问任务池的计算节点,集中式任务池可能会成为顺序瓶颈。
- 分布式任务池执行模型 :在每个计算节点上放置一个任务池实例,使计算节点相互解耦,从而实现高度可扩展的系统。然而,由于各个计算节点仅拥有部分知识,协调成为一项具有挑战性的任务,特别是在云计算环境中,计算节点会在运行时动态添加或移除。
TASKWORK 采用了分布式任务池执行模型,它允许计算节点在本地存储生成的任务,通常具有更好的可扩展性。为了应对分布式任务池执行模型带来的挑战,TASKWORK 基于 ZooKeeper 增强了可扩展的协调和同步机制。
2. 关键组件
2.1 领导者选举
TASKWORK 实现了基于 ZooKeeper 的领导者选举机制,用于在参与的计算节点中指定一个协调者。这个协调者负责向系统提交作业、处理最终结果以及控制与云相关的协调操作,如终止检测。每个节点尝试将其端点信息写入 /coordinator znode,如果写入操作成功,该节点成为
超级会员免费看
订阅专栏 解锁全文
2640

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



