基于双队列的异步任务调度解决方案
异步任务处理流程详解
轻易云数据集成平台通过高效的异步任务处理机制,实现了数据集成过程中的高性能与稳定性。以下是平台处理异步任务的核心流程:
-
参数生成阶段
调用$this->generateRequestParams()
方法生成当前任务的请求参数,为后续操作提供数据基础。 -
队列池写入操作
平台采用双队列机制确保任务可靠性:- 目标队列写入
$this->getAsynTargetJobStorage()->insertOne($this->metaData['api'], $request, $this->getDataStorage()->ids, $this->getDataStorage()->dataRange)
- 源队列写入
$this->getAsynSourceJobStorage()->insertOne($this->metaData['api'], $request)
- 目标队列写入
-
任务调度执行
通过标准化指令触发任务执行:- 目标任务:
$this->asynTargetJob(1, $jobId)
- 源任务:
$this->asynSourceJob(1, $jobId)
- 目标任务:
该流程充分体现了轻易云平台的技术优势:
- 采用双队列冗余设计保障任务不丢失
- 支持参数化配置满足不同集成场景
- 通过标准化接口实现可扩展的任务调度
提示:所有队列操作均通过平台内置的分布式事务管理器保障原子性,单节点处理能力可达60MB/S,支持水平扩展应对高并发场景。