任务调度想法-4

与上一篇仍然是类似的

ci-web
记录构建动作

schedule-service

通过构建动作,产生顶层任务的schema

然后再根据需要(轮询)将Shema中的子任务产生消息推送给执行者(build-service)

build-service
收到任务消息,执行任务,将日志文件持久化 注意只持久化日志
将任务执行结果信息推送到mq

schedule-service

收到任务执行结果,变更任务状态,检查任务schema,修改其上级对象的状态.

注: 可使用MQ在服务间进行通讯, 但MQ的传输比现有方式要慢,优点是可靠性更高一些(个人认为),消息的保证机制更好一些。
使用MQ 增加了通讯回路成本,有一些浪费,并且MQ本身可能成为瓶颈。

但使用消息队列方式也可以减少很多额外的复杂度。

原文地址:https://www.cnblogs.com/laoniu85/p/5132038.html