`
huangyongxing310
  • 浏览: 494632 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

分布式系统数据一致性

 
阅读更多
分布式系统数据一致性


分布式事务有两种解决方式
1.异步消息(消息队列)
(1)使用异步消息 Consumer 端需要实现幂等,幂等是指多个请求返回相同的结果。
(a)一种方式是业务逻辑保证幂等。比如接到支付成功的消息订单状态变成支付完成,如果当前状态是支付完成,则再收到一个支付成功的消息则说明消息重复了,直接作为消息成功处理。
(b)另外一种方式如果业务逻辑无法保证幂等,则要增加一个去重表或者类似的实现。对于 producer 端在业务数据库的同实例上放一个消息库,发消息和业务操作在同一个本地事务里。发消息的时候消息并不立即发出,而是向消息库插入一条消息记录,然后在事务提交的时候再异步将消息发出,发送消息如果成功则将消息库里的消息删除,如果遇到消息队列服务异常或网络问题,消息没有成功发出那么消息就留在这里了,会有另外一个服务不断地将这些消息扫出重新发送。

2. 有的业务不适合异步消息的方式,事务的各个参与方都需要同步的得到结果。每个参与方的本地业务库的同实例上面放一个事务记录库。由一个中心服务对比三方的事务记录表,做一个最终决定。假设现在三方的事务记录是 A 成功,B 失败,C 成功。那么最终决定有两种方式,根据具体场景:
(1)重试 B,直到 B 成功,事务记录表里记录了各项调用参数等信息;
(2)执行 A 和 B 的补偿操作(一种可行的补偿方式是回滚)。


DTS 方案
1.支付宝在 2PC 的基础上改进而来。
2.分布式事务服务 (Distributed Transaction Service, DTS) 是一个分布式事务框架,用来保障在大规模分布式环境下事务的最终一致性。


分布式环境下(数据分布)要任何时刻保证数据一致性是不可能的,只能采取妥协的方案来保证数据最终一致性。



参考原文(保证分布式系统数据一致性的6种方案):http://www.cnblogs.com/lzyGod/p/5558474.html
参考原文(关于分布式系统的数据一致性问题):http://elf8848.iteye.com/blog/2067771


分享到:
评论

相关推荐

    基于消息队列的分布式系统数据一致性方法研究.pdf

    【标题】:“基于消息队列的分布式系统数据一致性方法研究.pdf” 【摘要】:本文主要探讨了在分布式环境中如何保持数据一致性,通过分析一个实际的容灾系统,研究了数据同步和数据一致性的问题。作者提出了一种利用...

    保证分布式系统数据一致性的6种方案

    为了便于讨论问题,先简单介绍下数据一致性的基础理论。当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。根据...

    分布式系统数据一致性介绍.docx

    总结来说,数据一致性是分布式系统设计中的核心难题,它涉及到程序设计、硬件、并发控制等多个方面。理解并有效管理一致性,对于构建可靠、高效、大规模的分布式系统至关重要。开发者需要不断探索和优化解决方案,以...

    分布式系统一致性研究与案例分析.pdf

    分布式系统通过将数据分布在不同的节点上,来提高系统的可靠性和性能,但这也引入了数据一致性维护的复杂性。 一致性问题在分布式系统设计和实现中扮演着重要角色。为了确保数据在不同节点间保持一致,必须采取一...

    分布式系统缓存一致性设计与应用.pdf

    在分布式系统中,缓存一致性问题是系统性能的关键。由于分布式系统由多个计算节点组成,这些节点可能分布在不同的地理位置,因此系统中的数据拷贝需要保持一致,以确保系统的正常运行。缓存技术的引入可以缓解数据...

    分布式存储数据一致性研究.pdf

    在分布式存储系统中,数据一致性是指如何确保所有数据副本保持同步,无论数据是在进行读取操作还是写入操作。一致性要求数据在写入后能够被正确地复制到各个副本上,且不会出现错乱或遗漏。为实现这一点,分布式存储...

    分布式系统事务一致性解决方案大对比

    在探讨分布式系统事务一致性解决方案时,我们首先需要理解分布式系统的核心挑战之一就是如何在保证数据一致性的同时,还要维持系统的可用性和分区容错性。根据CAP定律,一个分布式系统不可能同时满足这三个特性。在...

    分布式一致性算法的研究及应用.pdf

    尽管Paxos算法有着复杂的逻辑和操作过程,但它的稳定性和可靠性使其成为解决分布式系统数据一致性问题的首选算法。随着技术的进步和新算法的提出,Paxos算法也在不断地被优化和改进,以适应更加复杂的分布式应用需求...

    分布式系统介绍

    4. 一致性协议:保证分布式系统数据一致性的协议,如Paxos、Raft。 5. 事件最终一致性模型:在没有强一致性要求的情况下,系统最终达到一致状态的模型,如CRDTs(冲突无关数据类型)和CALM定理(一致性与可用性逻辑...

    分布式一致性系统算法

    针对分布式系统中数据一致性的问题,有几种不同的定义方法来描述系统在何种程度上保证数据的一致性。 - **强一致性(即时一致性)**:如果某个客户端写入了一个新的值,则所有后续对该值的读取操作都将返回这个最新...

    精细分析Oracle分布式系统数据复制技术.pdf

    数据复制技术是实现分布式系统数据一致性的重要手段。在Oracle分布式系统中,数据复制允许系统管理员将关键数据从一个数据库复制到多个数据库中,以此来提高数据的可用性和安全性。通过复制技术,数据可以分散存储在...

    分布式系统中一致性协议优化方案与研究

    内容概要:文章深入讨论了分布式系统中一致性协议面临的挑战及优化策略,特别是基于动态负载均衡、数据复制与分片,和高效通信的方案。实验结果显示优化策略能在降低延时、增大吞吐量以及提高可扩展性三个方面显著...

    基于消息通信的分布式系统最终一致性平台.pdf

    该平台通过一系列机制确保了在异步消息传递过程中的数据一致性。 首先,系统设计中引入了幂等性原则,即无论同一操作执行多少次,结果始终相同。这样可以避免因为消息重复发送或接收导致的不一致状态。同时,平台...

    分布式数据库数据一致性验证.pptx

    **CAP 定理** 是理解分布式系统中数据一致性问题的基础。该定理指出,在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)这三个属性不可能同时完全满足。具体来说...

    分布式系统概念与设计-第五版-中文/英文

    3. **分布式计算模型**:讨论CAP定理、Paxos算法、Raft一致性协议等,这些都是确保分布式系统数据一致性的核心概念。 4. **分布式文件系统**:如GFS(Google File System)和HDFS(Hadoop Distributed File System...

    分布式UDDI的数据一致性优化模型.pdf

    在分布式系统中,由于数据分布在多个节点上,数据一致性成为了一个关键挑战。分布式UDDI注册中心通常由多个子注册中心组成,每个子中心存储一部分Web服务的注册信息。这种架构虽然提高了服务的可用性和容错性,但也...

    分布式一致性原理与实践.pdf(完整书签)

    在分布式系统中,由于网络延迟、节点故障和并发操作的存在,保持数据一致性是一项极具挑战性的任务。一致性模型如强一致性、弱一致性或最终一致性,提供了不同的解决方案来平衡可用性和一致性。Paxos算法就是为了...

Global site tag (gtag.js) - Google Analytics