zoukankan      html  css  js  c++  java
  • 分布式事务

    一 微服务主要困难

    •  单体应用拆分为分布式系统后,进程间的通讯机制和故障处理措施变的更加复杂。
    •  系统微服务化后,一个看似简单的功能,内部可能需要调用多个服务并操作多个数据库实现,服务调用的分布式事务问题变的非常突出。
    •  微服务数量众多,其测试、部署、监控等都变的更加困难。

      对于第一个问题:参考 http://www.cnblogs.com/liufei1983/p/9033587.html。,

           对一个第三个问题:  docker, k8s,devops等的成熟,也变得比较容易实现。

      而对于第二个问题,现在还没有通用方案很好的解决微服务产生的事务问题。分布式事务已经成为微服务落地最大的阻碍,也是最具挑战性的一个技术难题。

    二 传统的分布式事务的解决方案

    •  基于XA的两阶段提交
    •  TCC方案:Try、Confirm、Cancel
    •  基于消息的最终一致性:通过消息中间件保证上、下游应用数据操作的一致性。基本思路是将本地操作和发送消息放在一个事务中,保证本地操作和消息发送          要么两者都成功或者都失败。下游应用向消息系统订阅该消息,收到消息后执行相应操作。

    三 高性能全局事务服务GTS  

       未完待续

  • 相关阅读:
    multipart/form-data
    Java面试之SE基础基本数据类型
    数据库中的悲观锁和乐观锁详解
    j2SE基回顾(一)
    Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
    消防(bzoj 2282)
    YY的GCD(bzoj 2820)
    Problem b(bzoj 2301)
    完全平方数(bzoj 2440)
    The Luckiest number(hdu 2462)
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9033569.html
Copyright © 2011-2022 走看看