細觀分布式事務的出現和演變過程是什么?
分布式事務是指事務的參與者、支持事務的服務器、資源服務器以及事務管理器分別位于不同的分布式系統的不同節點之上。為了實現分布式事務,需要使用下面將介紹的兩階段提交協議。 * 階段一:開始向事務涉及到的全部資源發送提交前信息。此時,事務涉及到的資源還有最后一次機會來異常結束事務。如果任意一個資源決定異常結束事務,則整個事務取消,不會進行資源的更新。否則,事務將正常執行,除非發生災難性的失敗。為了防止會發生災難性的失敗,所有資源的更新都會寫入到日志中。這些日志是永久性的,因此,這些日志會幸免遇難并且在失敗之后可以重新對所有資源進行更新。 * 階段二:只在階段一沒有異常結束的時候才會發生。此時,所有能被定位和單獨控制的資源管理器都將開始執行真正的數據更新。 在分布式事務兩階段提交協議中,有一個主事務管理器負責充當分布式事務協調器的角色。事務協調器負責整個事務并使之與網絡中的其他事務管理器協同工作。 為了實現分布式事務,必須使用一種協議在分布式事務的各個參與者之間傳遞事務上下文信息,IIOP便是這種協議。這就要求不同開發商開發的事務參與者必須支持一種標準協議,才能實現分布式的事務。分布式事務處理 (TP) 系統旨在協助在分布式環境中跨異類的事務識別資源的事務。在分布式 TP 系統的支持下,應用程序可以將不同的活動合并為一個事務性單元,這些活動包括從"消息隊列"隊列檢索消息、將消息存儲在 Microsoft SQL Server 數據庫中、將所有現有的消息引用從 Oracle Server 數據庫中移除,等等。因為分布式事務跨多個數據庫資源,故強制 ACID 屬性維護所有資源上的數據一致性是很重要的。