与上一篇仍然是类似的
ci-web
记录构建动作
schedule-service
通过构建动作,产生顶层任务的schema
然后再根据需要(轮询)将Shema中的子任务产生消息推送给执行者(build-service)
build-service
收到任务消息,执行任务,将日志文件持久化 注意只持久化日志
将任务执行结果信息推送到mq
schedule-service
收到任务执行结果,变更任务状态,检查任务schema,修改其上级对象的状态.
注: 可使用MQ在服务间进行通讯, 但MQ的传输比现有方式要慢,优点是可靠性更高一些(个人认为),消息的保证机制更好一些。
使用MQ 增加了通讯回路成本,有一些浪费,并且MQ本身可能成为瓶颈。
但使用消息队列方式也可以减少很多额外的复杂度。