分佈式系統——分佈式事務(平面分佈式事務和嵌套分佈式事務)

平面分佈式事務

客戶端給多個服務器發送請求。一個平面客戶事務完成一個請求後,纔會發起下一個請求。因此每個事務順序訪問服務器上的對象。當服務器使用鎖機制時,事務一次只能等待一個對象。

嵌套分佈式事務

頂層事務可以創建子事務,子事務可以進一步地以任意深度嵌套子事務。在嵌套事務中,同一層次的子事務可以併發執行,又由於子事務訪問不同服務器上的對象,因此他們可以並行執行。

分佈式事務的協調者

TID:事務標識符,整個分佈式系統中必須是惟一的。構造方式有很多,例如:TID=服務器標識符(可以是IP地址)+服務器中的唯一數字

  • 協調者的任務是在分佈式事務結束時負責提交或放棄事務。
  • 執行分佈式事務請求的服務器需要相互通信,以確保在食物提交時能夠協調他們之間的動作。客戶在啓動一個事務時,想任意一臺服務器上的協調者發出一個openTransaction請求。在協調者處理完openTransaction請求後,將TID返回給客戶。
  • 管理分佈式事務訪問對象的每個服務器都是該事務的參與者(participant),每個服務器提供一個參與者對象。每個事務的參與者負責跟蹤所有參與分佈式事務的可恢復對象。
  • “參與者”與“協調者”共同執行提交協議。
  • 在事務執行過程中,參與者與協調者會互相記錄對對方的引用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章