美文网首页
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