2015-10-26 46 views
0

我开发使用JTA事务(Java事务API)和其使用多个资源(数据库)的应用程序。所以我在我的野蛮环境中设置了xa-datasourcesWildfly XA-数据源 - 加莱拉簇

问题是我需要一个集群数据库(f.e:Mariadb + galera,mysql + mysqlcluster)。

你有一个数据库集群环境在推荐和与XA的事务工作?

+0

请问您可以先将问题重写为更易于理解。 mysql xa支持有什么问题? – eis

+0

,因为xa事务只与INNODB存储引擎一起工作,但mysqlcluster使用NDBCluster引擎。 –

+0

似乎没有这种环境的现有解决方案。我将数据源合并到一个数据源中。所以再也没有xa事务了。 –

回答

0

(在我看来......)聚类(无论是加莱拉或NDB)和XA彼此的一步,因为......

聚类是XA的本身就是一种形式 - 它必须协调中的作用多台机器,而且它使用一些mini-XA代码。这让XA没有空间让它在更高的层次上进行类似的操作。

为什么你希望在群集之上使用XA?

+0

有些情况下,需要在群集上使用XA。在我们决定使用Galera集群时,我们在项目中遇到了一个例子。 对于某些文档索引,我们使用[Apache Lucene](http://lucene.apache.org/core/)。这需要XA才能使Lucene和数据库保持同步。 Lucene索引存储在磁盘上的一些文件中。对这样的文档的任何更改都应该在数据库和Lucene文件上提交,或者在两者上都回滚。这需要XA。 –

+0

@CiprianStoica - 如果这种回滚很少,我会考虑不回滚,而是将文档标记为“已删除”。然后,你可能可以编排索引等等,而不是不需要XA。 –