Diego竞拍如何分配任务

当新的应用需要分配到虚拟机时,Diego Auction决定使用哪台机器,拍卖算法均衡几台虚拟机,优化app的可用性和恢复力。

Tasks 和 Long-Running Processes

  • Tasks有限时间运行的程序。
  • Long-Running Processes,一直运行着的程序 每次竞拍分配当前一批任务,LRPs。

    Ordering the Auction Batch

    Diego 拍卖算法分配任务满足以下结果,降优先级排序:
  • 保证每个LRP至少一个实例在运行
  • 在当前批处理中运行所有的任务
  • 尽可能分散任务到可获得的虚拟机中

拍卖商把一批任务安排一个优先级。

Auctioning the Batch to the Cells

当拍卖商把任务的优先级排好之后,各个虚拟机就去竞标合适自己运行的任务。拍卖商查询每个Cells看哪个最适合运行当前的job。

  1. job只会分配给具有合适的软件栈结构和有足够的资源的主机。
  2. 分配LRP实例给没有已经分配给其它相同的LRP实例
  3. 分配给最轻负载的Cell 如下图分配任务的规则:

Triggering Another Auction

如新的部署任务产生,或者实际运行的计数器少于期望运行的计数器等,都会让CC触发拍卖动作。

results matching ""

    No results matching ""