【发布时间】:2020-06-12 05:56:26
【问题描述】:
我们有一个使用 spring boot 的 Java 微服务项目,想知道以下属性是否必须在集群中的服务器之间是唯一的,根据博客文章 https://fogbugz.atomikos.com/default81d0.html?community.6.2225.7
应用基于
Spring Boot - 1.5.12.RELEASE
春季 - 4.3.16.RELEASE
球衣 - 2.25.1
活动 MQ - 5.14.5
Atomikos - 3.9.3
RedHat Java - 1.8.0_191
功能包括 JDBC、JPA 和 JMS
示例服务器名称:node1、node2、node3
如果以下属性在所有服务器上都相同,如下所示,那么我相信这会导致事务恢复问题和其他可能的 XID 问题,对吗?
com.atomikos.icatch.tm_unique_name = myapp-tm-node
spring.jta.atomikos.datasource.unique-resource-name = myapp-db-node
spring.jta.atomikos.connectionfactory.unique-resource-name = myapp-jms-node
所以从技术上讲,上述属性的值在每个节点上应该是唯一的,如下所示,对吗?
com.atomikos.icatch.tm_unique_name = myapp-tm-node1
spring.jta.atomikos.datasource.unique-resource-name = myapp-db-node1
spring.jta.atomikos.connectionfactory.unique-resource-name = myapp-jms-node1
Likewise the property values ending with "node2" and "node3" on the other two servers
【问题讨论】:
-
您是在 Spring Boot 应用程序中使用 Atomikos internal 还是单独部署了 Atomikos 实例?
-
Atomikos 在 Spring Boot 应用程序内部。
-
您不必关心名称,因为每个节点都有一个事务管理器。
-
很高兴知道。如果每个节点上有多个使用 Atomikos 的 Spring Boot 微服务应用程序,那么这意味着这些应用程序的上述三个属性值应该是唯一的,对吗?
-
没错。如果 Atomikos 事务管理器是共享的,使用它的每一方都需要一个唯一的 id
标签: spring jpa unique atomikos