一种工作流心跳机制的设计

最近工作中一直和 SWF(Amazon 的 Simple Work Flow)打交道,在一个基于 SWF 的工作流框架上面开发和修 bug。SWF 的 activity 超时时间是 5 分钟,在 activity task 开始执行以后,activity worker 需要 主动发送心跳请求 告知 service 端:“我还活着,我还在干活”,如果出现超过 5 分钟(可以 配置)没有心跳,SWF 的 service 端就认为,你已经挂了,我需要把这个 activity 安排到别的 activity worker 上来执行了。借用 AWS 官网 的一张图:

heartbeat

每台机器上有若干个 activity task 在被执行。可以看到,在 activity 任务启动起来以后

[……]阅读全文

back to top