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

Axon新手提问:按此架构搭建项目是否可行?SAGA_ENTRY无法共享是否为错误设计

核心结论

你的方案完全可以继续落地,不属于不合理设计,不需要推翻现有开发内容重做,只需要调整部分实现逻辑即可解决你遇到的Saga数据共享问题。

现存问题说明

你当前遇到的SAGA_ENTRY表无法共享的问题,是两个实现层面的问题导致的,和架构方向无关:

  • 你使用了H2嵌入式本地数据库存储Axon的Saga数据,这类数据库默认只允许部署在同一进程内的服务访问,天然不支持跨应用读取
  • 直接共享SAGA_ENTRY表的思路本身不符合Axon的设计规范:该表是Axon框架的内部存储表,字段结构会随框架版本迭代发生变化,直接对外共享会产生极强的耦合,后续维护成本极高。

调整方案

你可以按优先级逐步做以下修改,不需要停掉现有开发进度:

  1. 优先解决数据共享需求:放弃直接读取SAGA_ENTRY表的思路,在Saga执行的每个关键状态节点,发布对应的业务事件,其他需要获取Saga相关状态的应用,监听对应事件后自行存储需要的业务视图数据即可,这个方案完全解耦,符合事件驱动架构的设计规范。
  2. 替换存储组件:把应用C的H2数据库替换为独立部署的关系型数据库(如MySQL、PostgreSQL),解决本地数据库的单点问题,也能支持后续如果需要直接管理Saga数据的需求。
  3. 后续优化方向:如果你的应用A、B、C分属不同的业务限界上下文,可以后续逐步把应用C中不属于自身上下文的命令处理、聚合存储逻辑拆分到对应服务中,把应用C调整为跨服务流程的编排层即可,现有逻辑可以先跑通主流程再迭代优化,之前的开发投入不会浪费。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:45:04