当前位置: 首页 > SEO学院SEO知识

分布式 关于分布式事务、两阶段提交协议、三

来源:未知 浏览量:273次
在分布式系统中为了保证数据的高可用性我们通常保持数据的多个副本(副本)seo入门书籍我们通常保持数据的多个副本(副本)这将被放置在不同的物理机器上。为了给用户提供正确的语义删除网页搜索优化删除修改和差异我们需要确保副本放置在不同的物理机器上是一致的。

为了解决这个分布式一致性问题前辈们总结了许多典型的协议和算法的过程中反复权衡性能和数据一致性。更著名的是两个阶段的承诺的协议这三个阶段承诺协议和Paxos算法。

分布式事务

分布式事务是指一个涉及操作多个数据库的事务。事实上同样的数据库事务的概念扩展到多个数据库的事务。其目的是确保数据一致性的分布式系统。分布式事务处理的关键是必须有办法知道所有操作完成的事务并决定提交或回滚事务必须产生一个统一的结果(所有提交或回滚)

在分布式系统中网页搜索优化并决定提交或回滚事务必须产生一个统一的结果(所有提交或回滚)

在分布式系统中每个节点在物理上相互独立的并通过网络沟通和协调。由于事务机制的存在它可以保证数据操作在每个独立的节点能满足酸。然而独立的节点不能准确地知道其他节点的执行事务。所以理论上来说两台机器理论上不能达到相同的状态。如果你想保持数据在分布式部署在多台机器上一致您必须确保数据执行写操作在所有节点上或全部不执行。然而一台机器不能知道本地事务的执行结果在其他机器上执行本地事务。所以他不知道是否应该提交或roolback这个事务。因此传统的解决方案是引入一个“协调员”组件统一安排所有分布式节点的执行。

XA规范X /开放组织(现在Open Group)定义了一个分布式事务处理模型。X /开放DTP模型(1994)包括四个部分:应用程序(美联社)事务管理器(TM)资源管理器(RM)和通信资源管理器(CRM)。一般来说常见的事务管理器(TM)是交易中间件常见的资源管理器(RM)数据库以及常见的通信资源管理器(CRM)是消息中间件。通常在一个数据库事务处理如多个表的操作被视为一个本地事务。数据库的事务处理对象是本地事务和分布式事务处理的对象是全局事务。所谓的全局事务意味着在一个分布式事务处理环境中多个数据库可能需要完成的工作在一起。这个工作是一个全局事务。例如多个不同的数据库可以在一个事务中更新。操作系统中的数据库发生无处不在但都必须提交或回滚。这时提交的数据库自身的内部操作的成功不仅取决于自己的操作而且在相关数据库操作成功的全局事务。如果任何数据库操作失败所有参与事务数据库必须做的所有操作回滚。在正常情况下数据库不能知道其他数据库在做什么。因此在DTP环境中交易中间件是必要的它通知并协调相关数据库的提交或回滚。数据库只图自己的操作(可恢复)对全球事务。

XA接口规范(即接口函数)之间的交易中间件和数据库定义为X / DTP开放。交易中间件使用它通知数据库事务的开始结束提交、回滚等。XA数据库供应商提供的接口函数。

二阶提交协议和三阶来自这个想法提交协议。可以说两阶段提交的关键是实现XA分布式事务(确切地说是:两阶段提交主要保证分布式事务的原子性:也就是说所有节点都做或不做)

2 pc

两阶段提交(两阶段提交)是指一种算法(算法)旨在让所有节点基于分布式系统架构一致时提交事务领域的计算机网络和数据库。
展开全部内容