我试图看看是什么让 Chronos 比 Crons 更好?我无法完全理解它的作业调度和执行架构。
具体来说,这些是我不清楚的关于 chronos 架构的问题。
在其中一个 Chronos 文档中,我读到由于 crons 具有 SPoF,crons 不好,cronos 更好。chronos 如何避免 SPoF?
在 Chronos 中保存作业计划的位置?它是否为此维护某种 DB?
如何触发计划的作业,谁向 Chronos 发送事件来触发作业?
依赖作业是否由 chronos 触发,如果是,chronos 如何知道父作业何时完成?它能区分失败的作业和完成的作业吗?
我看到 chronos 中的作业是使用 Json 格式定义的,使用 JSON 的任何理由,而不是任何其他格式,如 YAML,Apache Config 等。
chronos 中的作业可以有多个命令吗?如果是,所有这些不同的命令将在集群中的同一台机器上执行,或者 Chronos 甚至可以在集群中不同机器的作业中启动不同的命令?作业中的这些多个命令可以并行启动吗?
如果 mesos 已经具有调度功能,那么为什么甚至需要 Chronos?Chronos 可以在没有 Mesos 的情况下运行吗?
Chronos 是否支持基于事件的调度?例如,在创建文件“x”时运行我的作业等。
作业的异步运行在 Chronos 中意味着什么?
任何人都有一个很好的参考了解 Chronos 的架构?
您的一些问题在我的回复here中得到了回答,因此我将重点关注其他未解决的问题。
除非您使用 Zookeeper,否则 Chronos 会将状态存储在内存中,在这种情况下,默认情况下,它存储在 Zookeeper 的/chronos/state
reference here.
lastsuccess
andlastfailure
seen here
因为作者决定使用 JSON 和 RESTful API
是。使用 & amp;& amp;或 bash 脚本...它们都将在运行作业的同一台计算机上执行。不,单个作业不能并行运行命令,但可以同时调度多个作业。
因为 Chronos 适用于可以定期调度的短期 cron 作业,而 Marathon 适用于长期任务。Chronos 可以很好地替代 cron 的原因是它完全依赖于 Mesos-这意味着您还可以使用 Mesos 属性在 Mesos 集群周围适当地调度作业。请参阅here和here
没有.
异步作业的状态是可疑的,它看起来像was removed,但不幸的是在文档中有一些参考。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(41条)