调度器一般来说可以分为三个类别:集中式(monolithic)调度器、基于 offer 的调度器,以及状态共享(shared state)调度器。集中式调度器在一个单一的、中心化的地方处理调度逻辑,通常会绑定在一台单一的机器上。基于 offer 的调度器(例如 Mesos)同样在一个单一的地方进行调度决策,但可以通过将资源分配给多个各自具备任务的框架而实现并行化。而状态共享调度器则在多个地方处理调度决定,通过并发控制,以并行方式进行调度而获得统一的状态。
调度算法共有两种主要的算法,即贪心(bin pack)算法与扩散(spread)算法。Nomad 所使用的是贪心算法,这意味着它会尝试用尽当前节点的全部资源,随后再将新的任务传递至某个不同的节点。与之相反,扩散算法会尽量保证所有节点的使用率保持均衡。贪心算法的优点在于它可支持更多不同的工作量,最大化资源的利用和使用率,这最终将使基础设施的成本降至最低。而扩散算法的优点在于它能够将风险进行分散,如果某台机器产生了故障,该算法可减少响应及恢复的复杂性。如果某台机器仅运行一至两个任务,那么为这些任务找到新的节点非常容易。与之相反,如果某个发生故障的机器运行着200 个任务,那么调度器就必须为这200 个任务找到新的位置。
使用贪心算法时,随着节点上处理的任务越多,之后的任务就越有可能汇聚到这个节点上,直到这台机器的能力达到极限为止。这种方式确保了某个节点将最大化地处理任务,之后调度器才会将新的任务发送至某个新的节点上。此外,如果需要为某个占用大量资源的任务找到合适的节点,这种方式也能更方便地找到一个具有足够可用资源的节点,也能够更方便地关闭某些没有使用的机器。
使用贪心算法时,随着节点上处理的任务越多,之后的任务就越有可能汇聚到这个节点上,直到这台机器的能力达到极限为止。这种方式确保了某个节点将最大化地处理任务,之后调度器才会将新的任务发送至某个新的节点上。此外,如果需要为某个占用大量资源的任务找到合适的节点,这种方式也能更方便地找到一个具有足够可用资源的节点,也能够更方便地关闭某些没有使用的机器。
聊天记录都不能云同步,做产品就只知道傲慢。
每天1亿人想教张小龙做产品。
做产品来说,客户和用户作区分是比较基本的
你们不是目标客户,但是目标客户能要求你们用微信,你们就成了用户了[奸笑]
每天1亿人想教张小龙做产品。
做产品来说,客户和用户作区分是比较基本的
你们不是目标客户,但是目标客户能要求你们用微信,你们就成了用户了[奸笑]