很早以前,我在EJB(Jboss)容器中实现过JTA分布式事物,当时使用的数据库是mysql。
其实Tomcat使用Atomikos也可以实现JTA。Spring Boot通过Atomkos或Bitronix的内嵌事务管理器支持跨多个XA资源的分布式JTA事务,当部署到恰当的J2EE应用服务器时也会支持JTA事务。
由于我在实际工作中已全面使用MongoDB,因此基于mysql的JTA就不再讲了,使用mysql数据量大后需要考虑分库分表采用何种解决方案,而MongoDB是一个基于分布式文件存储的数据库,天生这方面就比mysql强大。
现在MongoDB 4.0已经支持多文档ACID事务,但Mongodb支持分布式事物吗?这可能是个伪命题,毕竟MongoDB是一个基于分布式文件存储的数据库,它本身就支持分片技术。问题是如果采用分片技术,Mongodb还支持ACID事物吗?
这些问题待进一步研究,先记下来……