Skip to content

可靠性说明

QLeelulu edited this page Sep 21, 2018 · 4 revisions

Cron-Node 节点

Cronnode节点是负责调度和执行任务的,对于Cronnode节点提供以下可靠性保障:

  • cronnode被设计成一个常驻进程,追求稳定和高可用。(cronsun在舜飞内部从2017-01月在线上运行至今,cronnode都没有崩溃过)
  • cronnodeetcd服务的连接中断了:
    • 断开连接之前已经下发的任务会正常执行;
    • 在断开连接期间新建、修改、删除的任务无法更新到节点;
    • 会自动和etcd进行重连;
    • etcd重新连接上后,会重新加载和该节点相关的全部任务,保证正确性;
  • cronnodeMongoDB数据库的连接中断了:
    • 所有任务依然会正常执行;
    • 在断开连接期间执行完成的任务,日志会因为无法写入到MongoDB而看不到任务的执行记录和任务日志,不影响任务正常执行;
    • 会自动和MongoDB进行重连,重连后执行记录和任务日志会正常写入MongoDB;

Cron-Web 节点

Cronweb节点是负责管理任务、查看任务执行日志的,对于Cronweb节点提供以下可靠性保障:

  • cronweb进程崩溃了:
    • 不影响cronnode节点和任务正常执行;
    • 报警邮件无法发送;
  • cronwebetcd服务的连接中断了:
    • cronweb无法访问;
    • 报警邮件无法发送;
  • cronwebMongoDB服务的连接中断了:
    • cronweb无法访问;
    • 报警邮件无法发送;
  • 可以部署多个cronweb节点,可以访问任一节点正常管理任务和查看日志;
Clone this wiki locally