MassTransitamp;amp;Sagas分布式服务开发ppt分享
saga,與分布式相關,最早被定義在Hector Garcia-Molina和Kenneth Salem的論文"Sagas"中。這篇論文提出了一個saga機制來作為分布式事務的替代品以解決長時間運行的分布式事務(long-running process)的問題。這篇論文認為業(yè)務過程經常由很多步驟組成,每個步驟都涉及一個事務,如果將這些事務組成一個分布式事務,就可以實現(xiàn)總體一致(overall consistency )。然而在長時間運行的分布式事務中,使用分布式事務會影響效率和系統(tǒng)的并發(fā)處理能力,因為在執(zhí)行分布式事務的時候會有鎖產生。
saga通過確保每一個業(yè)務過程都有修正事務(compensating transaction)來減少了系統(tǒng)對分布式事務的依賴。在這種方式下,如果業(yè)務過程遇到了錯誤的情況并且無法繼續(xù),它就可以執(zhí)行修正事務來修正已經完成的步驟。這種在業(yè)務流程中去撤銷已經完成的工作的方式保證了系統(tǒng)的一致性。
saga這個名詞通常被用在CQRS的討論中,它是指一段在限定上下文(bounded contexts )和聚合(aggregates)之間起協(xié)作和路由(coordinates and routes )消息作用的代碼。這里更傾向于使用Process manager這個詞來表示MassTransit中的sagas。
?
?
?
?
原文地址:http://www.cnblogs.com/qkbao/p/6952654.html
.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的MassTransitamp;amp;Sagas分布式服务开发ppt分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Raft协议安全性保证
- 下一篇: DDD理论学习系列(12)-- 仓储