You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Camunda External Task中的“topic”是什么?其底层实现技术是怎样的?

Camunda External Task Topic 底层实现逻辑说明

Camunda 外部任务中的topic本质是业务层面的关联标识,没有用到消息中间件的Topic相关能力,底层完全基于关系型数据库的字段匹配实现,具体逻辑如下:

引擎侧存储逻辑

  • 你在BPMN流程的外部任务节点配置的topic名称,会在流程实例运行到该节点时,作为topic_name_字段的值,持久化到Camunda运行时外部任务表ACT_RU_EXT_TASK中。
  • 该条任务记录同时会存储任务优先级、锁定状态、过期时间、关联流程实例/执行实例ID、业务参数等完整元数据。

Worker订阅匹配逻辑

  • Worker端的“订阅”是抽象逻辑,底层采用定时主动轮询拉取的模式,不存在服务端主动推送:Worker会按照配置的轮询间隔,主动调用Camunda的拉取接口,请求时携带指定订阅的topic名称作为过滤参数。
  • 引擎收到拉取请求后,会执行数据库查询,筛选ACT_RU_EXT_TASK表中同时满足以下条件的任务:
    • topic_name_与请求携带的topic值完全匹配
    • 任务处于待执行状态,没有被锁定或锁定已过期
    • 满足请求中携带的租户ID、优先级、业务Key等额外过滤规则
  • 匹配到的任务会被引擎先加锁(更新lock_owner_、lock_exp_time_字段),再返回给发起请求的Worker,Worker拿到任务后执行对应的业务逻辑即可。

技术方案核心特性

  • 完全不依赖第三方消息队列组件,所有topic匹配逻辑都基于数据库等值查询实现,和Camunda核心事务绑定,避免了分布式事务一致性问题。
  • 整体实现轻量,和Camunda的现有任务调度逻辑对齐,不需要额外部署中间件即可运行。

内容的提问来源于stack exchange,提问作者hsingh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:18:01