Marathon和Aurora都是基于Mesos构建的,据称可用于运行长期运行的服务。我的问题是:
谢谢!
答案 0 :(得分:86)
免责声明:我是Apache Aurora的副总裁,并且在Twitter上担任Aurora团队的技术负责人约5年。我可能有偏见的观点是我自己的,并不一定代表Twitter或ASF。
这些框架运行在Linux上运行的任何东西吗?对于马拉松他们 声明它可以运行任何"在shell中可执行的任何东西"但 这有点模糊:)
基本上,是的。最终,这些系统是在集群中某处执行shell代码的复杂机制: - )
他们有什么不同?我一直在努力寻找任何好处 关于他们关键差异的解释
Aurora和Marathon确实提供了类似的功能集,两者都被归类为"服务调度程序"。换句话说,您向我们提供了有关如何运行应用程序服务器的说明,我们会尽力保持它们。
我会在广泛的笔触中提供一些差异。当谈到每个中提到的缺点时,我认为可以安全地说社区已经意识到并打算修复它们。
易于使用
Aurora不容易安装。在设置它时,您可能会觉得自己正在开拓创新。它暴露了一个thrift API,这意味着你需要一个thrift客户端以编程方式与它进行交互(类似REST的API即将到来,但目前是蒸发器),或者使用我们的命令行客户端。 Aurora拥有适用于configuration的DSL,这可能令人望而生畏,但允许您在使用系统时轻松共享模板和常用模式。
另一方面,马拉松可以帮助您运行“Hello World'尽快。在许多环境中执行此操作非常棒docs,并且开始时只需要很少的开销。它具有REST API,可以更轻松地适应自定义工具。它使用JSON作为configuration,这很容易入手,但更容易出现货物结果。有针对性的用例
Aurora一直被设计用于处理大型工程组织。 Twitter上的集群拥有成千上万台机器和数百名使用它们的工程师。这对Twitter的业务至关重要。因此,我们非常重视对规模,稳定性和安全性的要求。我们确保只考虑我们认为在生产中大规模值得信赖的功能(例如,由于Docker本身和Mesos-Docker集成的已知问题,我们将Docker支持标记为beta)。我们还拥有抢占等功能,使我们的集群适用于将业务关键型服务与原型和实验混合在一起。
我无法声称支持或反对Marathon的可扩展性。在功能方面,Marathon已经快速构建了功能,但在实践中可以感受到前沿(Docker支持就是一个很好的例子)。这并不总是由于Marathon本身,而是层层叠叠。马拉松不提供先发制人。
<强>所有权强>
对某些人来说,项目的所有权和治理很重要。它认为在实践中它没有定义项目的开放性,但对于一些人/公司而言,合法的细则可能是一个交易破坏者。
这意味着它受社区驱动的ASF治理模型的制约。 Aurora没有付费客户,目前没有软件商店可以支付开发费用。
tl; dr 如果您只是想在Mesos上运行服务,我建议将Marathon作为您的第一个停靠点。你可以更容易地运行并围绕生态系统。如果您正在制定私有云策略&#39;对于一家公司,我建议认真考虑Aurora,因为它已被证明并专门为此设计。
答案 1 :(得分:24)
所以我一直在评估两者,这是我的总结。
极光
[+] also handles recurring jobs
[+] finer grained, extensive file-based configuration
[+] has namespaces so multiple environments can co-exist
[-] read-only UI, no official API
[~] file based configuration and cli based execution brings overhead (which can be justified with more extensive feature set)
马拉松
[+] very easy to setup and use
[+] UI that provides control and extensive API (even with features missing from UI at the moment)
[+] event bus to listen in on api calls
[-] handles only long-running jobs
[-] does not have separate deployment-run-cleanup steps, these if necessary need to be combined in a script of one-liner
尽管Aurora具有更好的功能,但我更喜欢Marathon,因为Aurora的复杂性/开销和缺乏UI(用于控制)和API
答案 2 :(得分:3)
我对Marathon有更多经验。
思想:
技术:
关于第二个问题,您可以运行任何命令或docker容器,Mesos将为您执行资源隔离。如果您有50%的CentOS节点和50%的Ubuntu节点并且您运行执行apt-get
的任务,则该任务将有50%的失败可能性。 Mesos和Marathon没有意识到实际的机器。
答案 3 :(得分:2)
免责声明:我没有使用Aurora的实践经验,只有Marathon。
ad Q1:简而言之,Apache Aurora能够完成Marathon + Chronos可以提供的功能,即安排长期运行的服务和重复(批量)作业;另见Aurora user guide。
ad Q2:是的,什么都有。目前基于cgroups和Docker但是嘿,你可以roll your own。