jeffery.lee at gmail.com
bpel中的原子事務和補償服務區別和聯絡
原子事務實現了常見的提交和回滾特性,以促進對跨服務事務的支援。 ws-原子事務規範提供的協議促成跨服務事務的功能,可與最常在分布式應用服務平台中發現的acid相容性事務相比較。管理跨越多服務參與者原子事務時常常採用兩階段提交(2pc)來實現
業務活動監管長期執行的、複雜的和具有不同範圍和不同數量參與服務的活動。完成乙個業務活動可能要用數小時、數天甚至數週。在此期間,活動可以執行無數任務,這些任務涉及很多參與者。業務活動與常規複雜活動的區別在於其參與者需要遵循協議所定義的特定規則。業務活動與基於協議的原子事務的主要區別在於其處理異常的方式和由協議規則引入的約束的本性。
例如業務活動協議不提供回滾的能力。假定業務活動是長期執行的,它不實現期望的acid型別的事務功能。不過,業務活動提供可選的補償流程/服務,類似於「b計畫」,當遇到異常情形時即可呼叫。補償不同於原子事務,因為參與服務所執行的任何變化都不期望回滾;通常其目的是當執行a計畫失敗時就執行b計畫。
注意:使用補償服務不會影響類似的原子事務系統,正如同實際生活中業務活動和原子事務的關係,即每個業務活動可以包含若干個原子事務。業務活動的使用也不排斥原子事務的使用。事實上,長期執行的業務活動在其生存期內很可能包括幾個原子事務的執行。
業務活動於原子事務的不同之處還在於參與服務不需要在活動持續期間保留參與者。因為沒有緊密控**務執行的變化,它們在其各個工作完成後就可以離開業務活動。
下面結合bpel來進一步談一下原子事務和補償服務在其中的體現。
未完待續……
BPEL中的原子事務和補償服務區別和聯絡
錯誤報告 其他資訊以及批評 請郵寄到 jeffery.lee at gmail.com 或者訪問我的個人blog同我交流 本文遵從 gnu 的自由文件許可證 free document license bpel中的原子事務和補償服務區別和聯絡 原子事務實現了常見的提交和回滾特性,以促進對跨服務事務的...
應用整合實戰系列 服務匯流排中的服務補償機制
在應用整合專案中,經常會遇到多個整合應用之間的交易資料一致性的問題,雖然很多成熟的應用整合產品都會提供分布式事務和重試的功能,但是這些功能往往在實際的應用中作用不是很大。主要因為 1.大多數整合介面使用的是基於http的傳輸協議 web service rest等 而分布式事務通常只能支援諸如jdb...
事務和原子性的一些思考
最近 寫的有些痛苦,或者說,有些慢。覺得自己不能任性地去寫 在寫 的時候,應該去考慮 的復用,以及一些事務性的操作。學習這東西真的很奇怪,大約在兩周前,我大致看了下事務的概念,當時覺得也就乙個一致性,並沒有什麼卵用。而事實上,在短短兩周之後,在自己寫 的過程中,就遇到事務性的問題,寫事務性的 至於原...