当前位置: 首页 > 知识库问答 >
问题:

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

周瀚
2023-03-14
  • Spring Boot 2.3.0.Release(带有启动程序:Data、JPA、web、mysql)
  • 轴突Spring启动器-4.2.1

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

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

共有1个答案

蒋培
2023-03-14

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

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

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

 类似资料:
  • 我有一个Spring Boot微服务项目,用三个微服务来测试分布式事务管理的saga模式。 当我使用 命令后,微服务无法连接到Axon服务器,我收到了以下错误: 我的问题是为什么微服务在中寻找axon服务器,这显然是错误的,并且违反了它们在中的配置: 这里的轴子服务器的容器名称。

  • 为了这个问题,我正在做一个项目,其中有两个微服务: null 根据我所读到的,为了进行这种更改,我们需要做以下几点: 从->切换 更改配置以启用分布式命令 使用SpringCloud或JCloud连接微服务 将AxonFramework添加到遗留InvoiceService项目并处理接收到的saga事件。 这是我们遇到麻烦的第四点:发票服务是由一个不愿意进行更改的单独团队维护的。 在这种情况下,使

  • 我试图使用Axon 4.1+中的在一个2 JVM node K8集群上重播事件。虽然我将它设置为清理事件,但它只从一个节点中提取事件,而另一个节点继续运行,因为它的跟踪事件仍然是活动的。 我如何在所有JVM上同时禁用它,以便它能够正确地重播?然后启用所有这些命令,继续处理命令。 我尝试通过这段代码增加线程,这导致了另一个问题,即现有的令牌在InitialSemgmentsCount中永远不会增加,

  • 我有发现服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/master/Microservices-CQRS-SAGA-Kafka/DiscoveryService 我有产品服务:https://github.com/Naresh-Chaurasia/API-MicroServices-Kafka/tree/ma

  • 任何关于如何做到这一点的文件都将不胜感激。 提前谢了。