Fenzo - 已存档
概述
Fenzo 是一个用于 Apache Mesos 框架的调度器 Java 库,支持用于调度的插件。
实现了优化,并支持集群自动调整规模。
Apache Mesos 框架用于匹配和分配资源给待执行的任务。Fenzo 提供了一种基于插件的 Java 库,
通过使用各种可能的调度目标,来协助对资源进行任务调度
例如二进制包装、跨资源抽象(如 AWS 可用区或数据中心)的平衡
机架)、资源相关性和任务局部性。
Fenzo 特性:
- 它是一个通用的任务调度器,可与任何 Apache Mesos 框架一起使用 - 它非常适合长时间运行的服务类任务以及批量或交互式使用案例 - 它可以根据资源需求自动扩展执行主机集群 - 它支持插件,可用于自定义调节资源选择和任务配置优化的约束 - 你可以将多个单独的插件组合在一起,以实现更高级别的复杂目标;例如,你可以通过这种方式实现二进制包装以及任务相关性 - 你选择的约束可以是软性(尽力)或硬性(必须满足) - 你可以从资源报价中分配 CPU、内存、网络带宽、磁盘和端口资源 - 你可以根据其属性将不同类型的执行主机组合在一起 - 你可以让每个组独立自动扩展;例如,你可以选择保持至少五个大内存主机处于空闲状态,但至少八个小内存主机 - 你可以在每个作业组上设置资源分配限制 - 你可以在每个作业组上定义资源使用量的限制 - 集群的扩展会在达到这些限制后停止,即使任务尚未完成 - 你可以监控资源分配失败,以帮助调试为什么某些任务无法启动 - 你可以通过调度优化与分配速度之间取得平衡
除了资源的首次匹配分配之外, Fenzo 框架还可以通过使用内置的插件来优化任务放置,或者可以自行设计和部署定制的模块。