gpt4 book ai didi

spring-boot - 与axon连接的微服务是否应该共享axon框架相关表?

转载 作者:行者123 更新时间:2023-12-04 00:55:56 24 4
gpt4 key购买 nike

我正在开始一个项目,我希望有多个服务使用 axon 服务器相互通信。

我有多个具有以下堆栈的服务:

  • Spring Boot 2.3.0.RELEASE(启动器:Data、JPA、web、mysql)
  • 轴突Spring Boot 启动器 - 4.2.1

每一项服务在 mysql 服务器中使用不同的模式。

当我在激活 axon 框架的情况下启动 spring boot 服务时,会在每个应用程序的数据库模式中创建一些用于 token 、sagas 等的表。

我有两个问题

  1. 在我尝试构建的架构中,我应该只所有“axon enabled”服务的一个数据库,所以 sagas, token 、事件等只在一个地方?

  2. 如果是这样,任何人都可以提供一个如何配置自定义的例子EntityManagerProvider 将服务的数据库分开来自Axon的数据库?

最佳答案

我假设您的每个微服务模型都是一个子域。由于事件确实对(子)域以及聚合、实体和值对象进行建模,因此我非常赞成将与 Axon 相关的模式分开,很可能与每个服务对应的数据库/模式分开。因此,在考虑此类技术选项时,我更喜欢建模优先的方法。

这就是我们目前在微服务生态系统中所做的事情。

对于 Axon Assets 和特定于应用程序的 Assets ,至少还有一个技术原因需要使用相同的架构(即每个子域一个)。是同事给我指出来的Marian .如果您(将)使用事件溯源(从而通过获取和应用处理命令后产生的所有过去事件来重建聚合状态),那么您很可能需要包含此获取的事务以及命令处理代码反过来,可能会触发(通过事件)写入您的微服务特定数据库。

关于spring-boot - 与axon连接的微服务是否应该共享axon框架相关表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62582881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com