WCF 分布式開發的事務管理機制

2021-05-22 01:50:16 字數 821 閱讀 8884

事務是一種離散的動作----動作要麼完成,要麼什麼都不做。如果某個資源發起的事務沒有全部完成,則由資源管理器確保資源恢復到事務開始之前的狀態。分布式事務會跨多個資源,因此會涉及多個資源管理器。

ado提供一種顯示的事務程式設計方式。但事務由單一的資源管理器來管理,要實現分布式事務需要使用:

committabletransaction或transactionscope:區別

committabletransaction 類為應用程式使用事務提供了一種顯式方法,而不是隱式地使用 transactionscope 類。與 transactionscope 類不同,應用程式編寫器需要明確呼叫 commit 和 rollback 方法以提交或中止事務。但是,只有事務的建立者才能提交事務。因此,通過 clone 方法獲得的可提交事務的副本不是可提交的。

在提交 committabletransaction 之前,事務所涉及的所有資源仍然是鎖定的。

committabletransaction 物件不能被重用。一經提交或回滾,就不能在事務中再次使用它或將它設定為當前環境事務上下文。

例子:

利用分布事務對資料庫兩表進行同時插入操作

注意:sql2005連線字串和平時不一樣了:

enlist=true:連線將自動在開啟的執行緒的當前事務上下文中登記

enlist=false:不登記

在分布使用資料庫時,注意有個資料庫服務一定要開起來:

在windows控制面版-->管理工具-->服務-->distributed transaction coordinator-->屬性-->啟動

詳情請見**:(說得不詳細,諒解下)**詳細些。

事務管理之分布式事務

當資料庫單錶一年產生的資料超過1000w,那麼就要考慮分庫分表,具體分庫分表的原理在此不做解釋,以後有空詳細說,簡單的說就是原來的乙個資料庫變成了多個資料庫。這時候,如果乙個操作既訪問01庫,又訪問02庫,而且要保證資料的一致性,那麼就要用到分布式事務。所謂的soa化,就是業務的服務化。比如原來單機...

分布式事務管理 筆記

1.分布式事務的特點 全域性事務 分布式資料庫的事務。乙個全域性事務在執行時分解為由若干與相應站點有關的操作序列組成的 子事務 和集中式事務一樣,都要有 原子性 隔離性 一致性 永續性 還要注意的是 系統效率 系統可用性 既不能影響本站點上事務的執行,也不能影響其他站點上事務的執行 2.分布式事務 ...

springBoot的事務管理機制

資料庫事務是指作為單個邏輯工作單元執行的一系列操作,要麼完全執行,要麼全部不執行,事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。乙個邏輯工作單元要成為事務,必須滿足所謂的 acid 原子性 一致性 隔離性和永續性 屬性,事務是資料庫執行中的邏輯工作單位,由資料...