尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Go Workflow 引擎:从 Tempor 与 Cadence 到流程编排
Go Workflow 引擎从 Tempor 与 Cadence 到流程编排工作流引擎是后端组件的粘合层。Tempor / Cadence 是 Go 编写的开源流程编排引擎。本文讲清原理与集成。一、Temporal 是什么Temporal 微服务编排 时间调度 容错。Google Uber 支持。执行流程Worker - TaskQueue - Activity - Result二、Hello Worldimportgo.temporal.io/sdk/clientimportgo.temporal.io/sdk/workerc,_:client.Dial(client.Options{})w:worker.New(c,default,worker.Options{})w.RegisterWorkflow(Greet)w.RegisterActivity(SayHello)w.Start()WorkflowfuncGreet(ctx workflow.Context,namestring)(string,error){varresultstringerr:workflow.ExecuteActivity(ctx,SayHello,name).Get(ctx,result)returnresult,err}funcSayHello(ctx context.Context,namestring)(string,error){returnHello name,nil}启动importgo.temporal.io/sdk/clientc,_:client.Dial(client.Options{})c.ExecuteWorkflow(context.Background(),client.StartWorkflowOptions{TaskQueue:default},Greet,Tom)三、Workflow 特点确定性相同 input 永远相同 output异步能 sleep、等待 signal自动重试失败自动 backoff四、Activity包含 IO、API 调用等非确定性操作用户注册 activityworker 调用五、信号与查询Workflow 接受 signalvarstatusstringfunc(w*MyWorkflow)Signal(ctx workflow.Context)func(workflow.Context,string){returnfunc(ctx workflow.Context,sstring){statuss}}client sidec.SignalWorkflow(ctx,workflowID,,update,new-status)六、Cadence 与 TemporalCadence 是 Uber 的 Workflow 引擎Temporal 是它的 fork 增强。Temporal 兼容性更好。七、Workflow 测试importgo.temporal.io/sdk/testsuitevars testsuite.WorkflowTestSuite env:s.NewTestWorkflowEnvironment()env.RegisterWorkflow(Greet)env.RegisterActivity(SayHello)env.ExecuteWorkflow(Greet,Tom)八、企业实战长流程审批funcApproval(ctx workflow.Context,orderIDstring)(string,error){ctxworkflow.WithActivityOptions(ctx,...)iferr:workflow.ExecuteActivity(ctx,NotifyApplicant,orderID).Get(ctx,nil);err!nil{return,err}varsignalstringworkflow.GetSignalChannel(ctx,manager).Receive(ctx,signal)returnsignal,nil}等待经理审批duration 可达几小时。九、Temporal 全套组件temporal-server协调者temporal-worker执行者temporal-frontend接入tctl命令行十、K8s 部署apiVersion:apps/v1kind:StatefulSetmetadata:name:temporalspec:replicas:1template:spec:containers:-name:serverimage:temporalio/serverenv:-name:DBvalue:postgresqlPostgres 储存 Workflow 状态。十一、与 Saga 模式Workflow 提供默认 Retry、补偿胜过 Saga。十二、踩坑清单必须 deterministic不能直接 time.NowActivity 可以包含 IO用 ctx 包替代 channel十三、未来Serverless WorkflowAI Agent 工作流十四、总结与展望Workflow 引擎是长事务 容错 异步的最佳工具。Temporal 已是云原生标准之一。未来LLM-as-Agent 兴起后会重塑workflow 定义 执行的形态。十五、参考文献temporal.io 官方文档Cadence 文档
RELATED

相关推荐

S-101 的图示表达:Look-up 表怎么工作

S-101 的图示表达:Look-up 表怎么工作

本文首发于个人博客航图笔记 nightchart.cn(S-57 / S-52 / S-100 / 渲染引擎源码走读,持续更新)。CSDN 同步发布,转载请保留出处。 S-57 时代我们把显示规则叫做 Look-up 表:要素类型加属性条件,查出一支笔…

📅 2026/9/25 18:46:46
select多路复用:非阻塞、超时与随机调度

select多路复用:非阻塞、超时与随机调度

select多路复用:非阻塞、超时与随机调度select是Go并发模型的精华——一个语句监听多个channel,实现多路复用、非阻塞检查、超时控制和随机公平调度。本文从select的编译机制(selectgo)出发,讲透select的底层原理与生产…

📅 2026/9/25 18:46:46
Docker 常见仓库与镜像使用指南(2026 实战版)

Docker 常见仓库与镜像使用指南(2026 实战版)

前阵子带一个新人,让他用 Docker 起个 MySQL,他从某篇博客抄了条命令:docker run --name some-mysql --link some-app:app -d mysql跑不通,来问我。我一看就知道这教程是七八年前的——--link 这个参数 Docker 官方早就标记废弃了…

📅 2026/9/25 18:46:46
MORE NEWS

更多资讯

📰

APM架构拆解:22个模块的install流水线如何实现“一条命令处处复现”

APM架构拆解:22个模块的install流水线如何实现“一条命令处处复现” 【免费下载链接】apm Agent Package Manager 项目地址: https://gitcode.com/gh_mirrors/apm10/apm APM(Agent Package Manager) 的 apm install 是整条产品体验的核…

📰

选型思考:纯计算引擎 vs 一体化数据平台,实时项目该如何抉择

摘要在建设实时数仓、数据交换项目时,很多团队会选择以Flink为核心,搭配Kafka、各类CDC工具组装整套链路。但在生产落地过程中,经常遇到组件繁多、故障点多、乱序丢数、状态膨胀、运维门槛高等现实问题。本文结合项目实践,对比纯流…

📰

机器人不接受迟到的答案!Thor 芯片上,Pi0.5推理被干到了26ms,10.7倍加速。

278ms。 这个时长对于人类对时间的认知来说,几乎是一瞬间。同时,它也是Pi0.5 使用 OpenPI 基线在端侧完成一次推理的等待时间。 然而对于机器人来说,这个时间还是太长了。 从指令进入系统,到机器人开始动作,中间的每…

📰

TCP三次握手与四次挥手的真实世界:从协议原理到故障排查

1. 为什么你看到的“三次握手”从来不是三步,而“四次挥手”也从不按剧本走?TCP连接管理这件事,我带过十几届实习生,每次讲到三次握手和四次挥手,总有人盯着Wireshark里抓到的包发愣:“老师,这明…

📰

Windows 10截图保存路径与管理全指南

1. Windows 10截图后文件“消失”的真相:不是丢了,是藏得比你想象的还深你按下Win PrtSc,屏幕一闪,听到那声熟悉的“咔嚓”快门音——心里一松:“截好了。”可翻遍桌面、文档、图片文件夹,甚至把整个C盘按…

📰

DeepSeek之后,又一国产AI爆火!用TaoToken统一Key接入AI Agent的配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬