zoukankan      html  css  js  c++  java
  • 分布式事务-柔&刚性事务

    概述

    本文简单简单介绍刚性/柔性事务,还有实现方式,后面的文章将会详细介绍几种事务模型。

    事务分类

    刚性事务:遵循ACID原则,强一致性。
    柔性事务:遵循BASE理论,最终一致性;与刚性事务不同,柔性事务允许一定时间内,不同节点的数据不一致,但要求最终一致。

    刚性事务

    ACID 是什么?
    A : 原子性(Atomicity)
    C : 一致性(Consistency)
    I : 隔离性(Isolation)
    D : 持久性(Durability)
    这里就不多解释 ACID ,可以结合数据库(例如 MySQL)进行学习

    柔性事务

    BASE 是什么?
    基本可用(Basically Available): 基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性
    软状态(Soft state): 存在中间状态
    最终一致性(Eventually consistent): 最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

    如何实现

    刚性事务

    以MySQL为例,MySQL 使用 WAL (Write ahead logging)--redo log 实现 和 快照--undo log 实现来保证刚性事务 。

    柔性事务实现

    柔性事务的实现方式有 :

    • TCC(Try/Confirm/Cancel)型事务
    • 异步确保性
    • 最大努力性

    总结

    参考资料

  • 相关阅读:
    贪心:SPOJ Backup Files
    杂题 SPOJ MOBILE2
    杂题 UVAoj 10000 Longest Paths
    杂题 UVAoj 107 The Cat in the Hat
    DP(斜率优化):HDU 3507 Print Article
    搜索(DLX): POJ 3074 3076 Sudoku
    DLX模板
    PHP代码优化技巧大盘点
    盘点PHP编程常见失误
    PHP Socket 编程详解
  • 原文地址:https://www.cnblogs.com/Benjious/p/12881082.html
Copyright © 2011-2022 走看看