如何通过服务流程进行分批并发处理

服务流程是集成云推出的面向复杂集成场景的低代码服务编排工具,能够把已有的集成对象、集成方案、消息服务、API接口等集成资源,通过流程化设计编排成全新的应用服务,以支持更加复杂的业务场景。
例如基础数据分发到多个系统、数据消费需要从多源取数、基于某个数据参数处理不同的集成过程等等。
为了帮助大家快速掌握服务流程的使用方法,我们推出了系列文章,通过11个典型案例向大家介绍服务流程的高级技巧。
在上期集成服务流程典型案例系列文章中,我们为大家介绍了服务流程的第10个典型案例:如何通过服务流程调用微服务集成。
本期,小编为大家介绍第11个典型案例:如何通过服务流程进行分批并发处理,通过需求场景介绍和分批流程、主业务流程两个小案例进行讲解。
1 需求场景介绍
为了降低服务流程在同步大批量数据时发生OOM的风险,集成云不允许将超过20M的数据一次性加载到服务流程内存中。
因此,服务流程提供了一个解决方案:将大批量数据分批在流程内执行,既能通过服务流程解决繁杂的业务,又可以免除无法在服务流程内运行大数据量的烦恼。
2 服务流程案例详解
2.1 分批流程(实现分批)
本例以集成平台执行日志表作为demo来演示分批效果。
首先,需配置分批流程属性,包括【基本信息】、【流程变量】和【依赖资源】。其中,【流程变量】包括下一批数据的最小ID“min_id(长整数)”、总批数“batch_count(整数)”、当前批主键ID“ids(长整数)”;【依赖资源】中引入数据源“预置当前苍穹(cn)”,主流程“batch_demo(start_flow)”。
具体的配置界面如下图所示:

分批流程属性配置界面
接着,配置分批流程图:根据ids查询数据,将每10条日志作为一批数据,并启动主流程“batch_demo”,如下图所示:

分批流程图
接下来,小编为大家详细介绍每个节点的内容。
节点【查询第一批数据】用于查询数据(每次10条),其中“fstate”为过滤条件,可根据实际情况更改。

【查询第一批数据】脚本示例
节点【启动服务流程】将上一步查询出的ids作为输入参数,启动服务流程“batch_demo”。

【启动服务流程】脚本示例
节点【设置下一批的最小ID并递增批数】准备查询下一批数据,并统计批次数。

【设置下一批最小id并递增批数】脚本示例
节点【查询下一批数据】用于查询下一批数据,并且连接【启动服务流程】节点。只有当ids为空时,流程才会结束。

【查询下一批数
如何通过服务流程进行分批并发处理
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



