Java EE / EJB vs Spring用于具有多个DB群集的分布式事务管理
我需要生成一个原型(在与J2EE兼容的J2EE应用程序服务器中运行),演示如下
>展示在全球不同站点的多个数据库上分发事务的能力(应用程序托管数据复制) 我可以选择Spring堆栈或Java EE堆栈(EJB等).了解您对哪个堆栈更好地支持多个数据库集群上的分布式事务更有用. 如果可能的话,您是否也可以请您指出您认为如何使用两个堆栈中的任何一个来实现上述内容的任何资源.我认为看到两者的例子将有助于理解它们的工作方式,并可能更好地决定使用哪个堆栈. 我在Google上搜索了很多网站,但大多数网站似乎已经过时(即前EJB 3和Spring 3之前) 谢谢 解决方法
我将通过以下方式使用JavaEE堆栈:
>为每个数据库服务器配置XA DataSource 如果发生技术故障,事务将在所有相关服务器上回滚.如果出现业务故障,代码可以通过context.setRollbackOnly()触发回滚. 这样,您首先从JavaEE自动分布式事务划分中受益,然后如果需要手动管理事务,则可以使用更复杂的模式. 但是,您在事务中登记的服务器越多,两阶段提交操作的持续时间就越长,而且系统之间的延迟时间也很长.我怀疑MySQL是执行此类复杂分布式事务的最佳关系数据库实现. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |