Mesos框架

Wha*_*ver 1 java marathon mesos aurora

我想通过使用java和定义依赖关系在集群上分发Docker容器,这样当一个容器完成时,我可以在我的java代码中解析生成的输出.有许多mesos框架可以实现这一点,我不确定采取哪一个:Marathon,Singularity,Chronos,Aurora.

到目前为止我学到了什么:

Marathon有一个非常好的java客户端api,但用于长期任务(不知道这是否是一个问题,因为我的任务不会运行那么久)我不认为我可以定义那种依赖.如果我使用马拉松,我将不得不轮询应用程序的状态.Chronos没有java api(至少我找不到).所以我可以选择Aurora和Singularity.

任何人都可以帮我推荐其中一个用于我的用例.

Ada*_*dam 5

Chronos(如Marathon)是用Scala编写的,因此它应该很容易与任何基于JVM的应用程序集成.更好的是,它们(实际上可能全部4个)都有REST API,因此无论每个应用程序/服务的实现语言如何,您都可以只调整您的操作/查询.

对于您的用例,您可能更喜欢Chronos而非Marathon,因为您希望您的任务完成(而不是重新启动).Marathon用于长时间运行(马拉松,运行......获取?)任务,因此它将重新启动失败/已完成的任务.Chronos就像是一个具有依赖关系的分布式cron,因此您可以安排您的作业,然后添加相关作业以在完成以前的作业时开始,构建任意DAG作业.

我会让其他人对奥罗拉和奇点进行讨论.我认为他们都支持类似cron的工作.