分布式系统——分布式事务(平面分布式事务和嵌套分布式事务)

平面分布式事务

客户端给多个服务器发送请求。一个平面客户事务完成一个请求后,才会发起下一个请求。因此每个事务顺序访问服务器上的对象。当服务器使用锁机制时,事务一次只能等待一个对象。

嵌套分布式事务

顶层事务可以创建子事务,子事务可以进一步地以任意深度嵌套子事务。在嵌套事务中,同一层次的子事务可以并发执行,又由于子事务访问不同服务器上的对象,因此他们可以并行执行。

分布式事务的协调者

TID:事务标识符,整个分布式系统中必须是惟一的。构造方式有很多,例如:TID=服务器标识符(可以是IP地址)+服务器中的唯一数字

  • 协调者的任务是在分布式事务结束时负责提交或放弃事务。
  • 执行分布式事务请求的服务器需要相互通信,以确保在食物提交时能够协调他们之间的动作。客户在启动一个事务时,想任意一台服务器上的协调者发出一个openTransaction请求。在协调者处理完openTransaction请求后,将TID返回给客户。
  • 管理分布式事务访问对象的每个服务器都是该事务的参与者(participant),每个服务器提供一个参与者对象。每个事务的参与者负责跟踪所有参与分布式事务的可恢复对象。
  • “参与者”与“协调者”共同执行提交协议。
  • 在事务执行过程中,参与者与协调者会互相记录对对方的引用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章