美文网首页
Saga的协调模式

Saga的协调模式

作者: defungo | 来源:发表于2019-08-11 09:35 被阅读0次
    • 协同式(choreography)
      把Saga的决策和执行顺序逻辑分布在Saga的每一个参与方中,它们通过交换事件的方式来进行沟通。
    优点:
            简单:服务在创建、更新或删除业务对象时发布事件
            松耦合:参与方订阅事件并且彼此之间不会因此产生耦合
    缺点:
          更能难理解:与编排式不同,代码中没有一个单一地方定义了Saga,而是散落在每个服务的是实现中。
          服务之间的循环依赖关系:Saga参与方彼此订阅事件,通常会有循环依赖关系。循环依赖性被认为是一种不好的设计风格。
          紧耦合风险:每个Saga参与方都需要订阅所有影响它们的时间。
    
    • 编排式(orchestration)
      把Saga的决策和执行顺序逻辑集中在一个Saga编排器类中。Saga编排器发出命令式消息给每个Saga参与方,指示这些参与方服务完成具体操作(本地事务)
      优点:
            更简单的依赖关系
            较少的耦合
            改善关注点隔离,监护业务逻辑。
       缺点:
          存在过多业务逻辑的风险
          隔离性问题(丢失更新,藏独,模糊或不可重复读)
      

    相关文章

      网友评论

          本文标题:Saga的协调模式

          本文链接:https://www.haomeiwen.com/subject/ocjjjctx.html