zoukankan      html  css  js  c++  java
  • 关于分布式事务的处理

    在前面我们的售票例子中,乘客购票请求发出--》售票员收款入账--》售票员查询余票--》售票员操作出票 

    对于后台售票窗口的处理流程为 售票员收款入账--》(售票员查询余票--》售票员操作出票--》系统余票更新这部分归结为出票吧),这将是一个完整的事务。

    如果操作出票失败了,那么是要求售票员退回收款,冲销入账的。或者系统余票更新失败了我们也希望全部操作都回滚。

    1.我们采用分布式服务治理框架 zookeeper ,分布式同步远程调用框架dubbo来实现

    在流程上做控制,只有当收款与出票都完成的情况下,售票过程完成。

    首先调用收款入账接口,入账成功则继续调用出票接口,如果出票异常,那么将发送冲销入账的接口进行入账冲销,并返还乘客票款。

    很明显将增大工作量,写大量的回滚逻辑。

    2.我们采用消息中间件,实现异步调用。同样也是需要些回滚逻辑

  • 相关阅读:
    java虚拟机小贴士之GC分析
    hystrix文档翻译之工作原理
    hystrix文档翻译之开始使用
    SQLALchemy--ORM框架
    PythonWEB框架之Flask--3
    补充
    PythonWEB框架之Flask--2
    PythonWEB框架之Flask
    centos6.8下redis的安装和配置
    celery
  • 原文地址:https://www.cnblogs.com/yun965861480/p/7299096.html
Copyright © 2011-2022 走看看