加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

怎么做大数据工作流调度系统?大厂架构师一语点破!

发布时间:2019-05-02 14:12:44 所属栏目:建站 来源:架构文摘
导读:编者说:文章先容了EasyScheduler的架构计划,以及每个组件事变的方法。假如你的事变中碰着必要大数据事变流的场景可以实行行使这个架构。因为文章较量长提议先保藏再阅读。 Easy Scheduler 大数据事变流调治体系已经开源,下载地点:https://github.com/a

这里起主要区分使命失败重试、流程失败规复、流程失败重跑的观念:

  • 使命失败重试是使命级此外,是调治体系自动举办的,好比一个Shell使命配置重试次数为3次,那么在Shell使命运行失败后会本身再最多实行运行3次
  • 流程失败规复是流程级此外,是手动举办的,规复是从只能 从失败的节点开始执行 或 从当前节点开始执行
  • 流程失败重跑也是流程级此外,是手动举办的,重跑是从开始节点举办

接下来嗣魅正题,我们将事变流中的使命节点分了两种范例。

  • 一种是营业节点,这种节点都对应一个现实的剧本可能处理赏罚语句,好比Shell节点,MR节点、Spark节点、依靠节点等。
  • 尚有一种是逻辑节点,这种节点不做现实的剧本或语句处理赏罚,只是整个流程流转的逻辑处理赏罚,好比子流程节等。

每一个 营业节点 都可以设置失败重试的次数,当该使命节点失败,会自动重试,直到乐成可能高出设置的重试次数。逻辑节点 不支持失败重试。可是逻辑节点里的使命支持重试。

假如事变流中有使命失败到达最大重试次数,事变流就会失败遏制,失败的事变流可以手动举办重跑操纵可能流程规复操纵

使命优先级计划

在早期调治计划中,假如没有优先级计划,回收公正调治计划的话,会碰着先行提交的使命也许会和后继提交的使命同时完成的环境,而不能做到配置流程可能使命的优先级,因此我们对此举办了从头计划,今朝我们计划如下:

  • 凭证 差异流程实例优先级 优先于 统一个流程实例优先级 优先于 统一流程内使命优先级 优先于 统一流程内使命 提交次序依次从高到低举办使命处理赏罚。

个中流程界说的优先级是思量到有些流程必要先于其他流程举办处理赏罚,这个可以在流程启动可能按时启动时设置,共有5级,依次为HIGHEST、HIGH、MEDIUM、LOW、LOWEST。如下图

详细实现是按照使命实例的json理会优先级,然后把 流程实例优先级_流程实例id_使命优先级_使命id 信息生涯在ZooKeeper使命行列中,当从使命行列获取的时辰,通过字符串较量即可得出最必要优先执行的使命

使命的优先级也分为5级,依次为HIGHEST、HIGH、MEDIUM、LOW、LOWEST。如下图

Logback和gRPC实现日记会见

因为Web(UI)和Worker不必然在统一台呆板上,以是查察日记不能像查询当地文件那样。有两种方案:

  • 将日记放到ES搜刮引擎上
  • 通过gRPC通讯获取长途日记信息

介于思量到尽也许的EasyScheduler的轻量级性,以是选择了gRPC实现长途会见日记信息。

总结

本文从调治出发,起源先容了大数据漫衍式事变流调治体系--EasyScheduler的架构道理及实现思绪。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读