分布式事务实战持续更新

作者: 山东大葱哥 | 来源:发表于2019-04-17 08:26 被阅读71次
    1. 分布式不一定是微服务
      多数据源下的事务
      mysql xa事务
      两阶段提交
      @Transactional 下切换数据源是无效的。

    xA的性能问题
    XA的性能很低。一个数据库的事务和多个数据库间的XA事务性能对比可发现,性能差10倍左右。因此要尽量避免XA事务,例如可以将数据写入本地,用高性能的消息系统分发数据。或使用数据库复制等技术。只有在这些都无法实现,且性能不是瓶颈时才应该使用XA

    1. 分布式服务
      远程调用httpclient dubbo
      事务控制,手写一个分布式事务框架
      netty做协调器
      redis也可以做协调器

    2. tpp
      补偿机制

    3. 基于消息队列的异步分布式事务
      rabbitmq

    分布式事务是指操作多个数据库之间的事务,spring的org.springframework.transaction.jta.JtaTransactionManager,提供了分布式事务支持。如果使用WAS的JTA支持,把它的属性改为WebSphere对应的TransactionManager。
    在tomcat下,是没有分布式事务的,不过可以借助于第三方软件jotm(Java Open Transaction Manager )和AtomikosTransactionsEssentials实现,在spring中分布式事务是通过jta(jotm,atomikos)来进行实现。

    相关文章

      网友评论

        本文标题:分布式事务实战持续更新

        本文链接:https://www.haomeiwen.com/subject/qhwmwqtx.html