Marathon和Aurora都是基于Mesos构建的,据说是为运行长期运行的服务而设计的。我的问题是:
谢谢!
最佳答案
免责声明:我是Apache Aurora的副总裁,并且在Twitter上担任Aurora团队的技术主管已有5年之久。我的偏见是我自己的观点,不一定代表Twitter或ASF的观点。
本质上是。最终,这些系统是复杂的机制,可以在集群中某处执行 shell 代码:-)
实际上,Aurora和Marathon确实提供了相似的功能集,都被归类为“服务调度程序”。换句话说,您向我们提供了有关如何运行应用程序服务器的说明,我们会尽力使它们保持运行状态。
我会提供一些粗略的差异。当谈到每个缺陷时,我认为可以肯定地说社区知道并打算解决这些缺陷。
易于使用
Aurora不容易安装。设置它时,可能会觉得您像开拓者。它公开了一个节俭的API,这意味着您将需要一个节俭的客户端以编程方式与其进行交互(即将出现类似REST的API,但目前是蒸气软件),或使用我们的命令行客户端。 Aurora的configuration DSL令人生畏,但随着您使用该系统的增多,您可以轻松共享模板和通用模式。
另一方面,马拉松可以帮助您尽快运行“Hello World”。它在许多环境中都具有出色的docs来执行此操作,并且几乎没有开销。它具有REST API,可以更轻松地适应自定义工具。它对configuration使用JSON,该语言很容易入门,但更容易进行 cargo 耕种。
目标用例
Aurora始终旨在处理大型工程组织。 Twitter上的集群有数万台机器和数百名工程师在使用它们。这对Twitter的业务至关重要。因此,我们非常重视规模,稳定性和安全性的要求。我们确保只宽容我们认为在生产中可大规模使用的功能(例如,由于Docker本身和Mesos-Docker集成存在已知问题,我们将Docker支持标记为beta)。我们还具有抢占等功能,使我们的集群适合将关键业务服务与原型(prototype)和实验相结合。
我不能对Marathon的可扩展性提出任何要求或反对。在功能方面,Marathon快速构建了功能,但这在实践中可能会感觉到前沿(Docker支持就是一个很好的例子)。这并不总是归因于马拉松比赛本身,而且也归根结底。马拉松不提供先发制人。
所有权
对于某些人来说,项目的所有权和治理很重要。感觉在实践中它并没有定义项目的开放性,但是对于某些人/公司而言,合法的罚款可能会破坏交易。
对某些人来说,这是有益的,对其他人则不是。这意味着您可以为支持和功能付费。这也意味着有东西要出售,并且项目方向最终由Mesosphere的利益决定。
这意味着它受社区 push 的ASF治理模型的约束。 Aurora没有付费客户,并且目前没有可以为开发付费的软件商店。
tl; dr 如果您只是想在Mesos上运行服务,那么最好将Marathon作为您的第一站。您可以更轻松地在生态系统中奔跑和戳戳。如果您正在为公司制定“私有(private)云策略”,我建议您认真考虑Aurora,因为它已被证明并专门为该产品而设计。
关于mesos - 马拉松vs极光及其目的,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28651922/