QCon 伦敦:掌握现代架构中的长时间运行流程

QCon London 2024:Bernd Ruecker 关于长流程处理的建议

在 QCon London 2024 上,Bernd Ruecker 提出了一种通过异步流程编排平台来处理长时间运行任务的方法。这种方法能够提供更好的服务边界和效率,减少系统复杂性和风险。集中管理该平台有助于促进应用程序对流程编排的采用。

长时间任务的主要原因是等待

大多数流程中都包含等待环节,这可能是出于业务原因(如获取客户反馈)或技术原因(如等待其他系统的响应)。以客户注册流程为例,其中一个手动步骤是审批客户申请。等待不仅会拖慢流程,应用程序还需要处理超时问题。

异步通信的优势

Ruecker 以订披萨为例说明了同步与异步通信的区别。电话订餐是同步的,会暂时耦合双方,但能提供即时反馈;而邮件订餐是异步的,没有时间耦合,但缺乏即时反馈。无论哪种方式,反馈循环的最终结果都是制作和交付披萨。

异步系统不仅能提供更好的用户体验,还能通过解耦实现更好的可扩展性。Ruecker 以星巴克的咖啡配送为例,说明了解耦如何加快服务速度并支持扩展。

流程中的挑战

Ruecker 提到流程中的两个主要挑战:一是失败处理不当,例如他无法办理航班登机手续的经历。系统应将失败处理在后台进行,而不是将问题传递给用户。二是跨组件的回滚操作,通常不存在全局事务,例如如果信用卡支付失败,必须撤销账户扣款。

使用 BPMN 进行流程管理

Ruecker 提倡使用 BPMN(业务流程模型和符号),这是一种 ISO 标准化的图形化流程描述语言。图形化流程文档可以同时被业务和技术人员理解,并且可以通过仪表板实时可视化系统状态。

团队交互模式

Ruecker 建议采用《团队拓扑》中的团队交互模式:平台团队负责提供流程编排平台服务,使能团队作为内部顾问帮助使用该服务,流对齐团队利用该平台提供业务价值,复杂子系统团队则处理无人愿意做的集成工作。

总结

Ruecker 的演讲强调了异步流程编排平台在处理长时间运行任务中的重要性,并通过实际案例展示了其优势和挑战。他还介绍了 BPMN 和团队交互模式在流程管理中的应用。

阅读 29
0 条评论