郑州网站建设网站推广,中国搜索引擎,百度网址收录入口,小程序制作需要营业执照吗saga#xff0c;与分布式相关#xff0c;最早被定义在Hector Garcia-Molina和Kenneth Salem的论文Sagas中。这篇论文提出了一个saga机制来作为分布式事务的替代品以解决长时间运行的分布式事务#xff08;long-running process#xff09;的问题。这篇论文认为…saga与分布式相关最早被定义在Hector Garcia-Molina和Kenneth Salem的论文Sagas中。这篇论文提出了一个saga机制来作为分布式事务的替代品以解决长时间运行的分布式事务long-running process的问题。这篇论文认为业务过程经常由很多步骤组成每个步骤都涉及一个事务如果将这些事务组成一个分布式事务就可以实现总体一致overall consistency 。然而在长时间运行的分布式事务中使用分布式事务会影响效率和系统的并发处理能力因为在执行分布式事务的时候会有锁产生。
saga通过确保每一个业务过程都有修正事务compensating transaction来减少了系统对分布式事务的依赖。在这种方式下如果业务过程遇到了错误的情况并且无法继续它就可以执行修正事务来修正已经完成的步骤。这种在业务流程中去撤销已经完成的工作的方式保证了系统的一致性。
saga这个名词通常被用在CQRS的讨论中它是指一段在限定上下文bounded contexts 和聚合aggregates之间起协作和路由coordinates and routes 消息作用的代码。这里更倾向于使用Process manager这个词来表示MassTransit中的sagas。 原文地址http://www.cnblogs.com/qkbao/p/6952654.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注