The SAGA Design Pattern Explained in 6 MINUTES | Orchestration vs Choreography

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ธ.ค. 2024

ความคิดเห็น • 30

  • @MarcoLenzo
    @MarcoLenzo  ปีที่แล้ว +4

    Do you prefer orchestration or choreography?

  • @ClaytonTaboneMT
    @ClaytonTaboneMT ปีที่แล้ว +2

    I believe that distributed transaction management is one of the most overlooked complexities when dealing with microservices based architectures. The SAGA pattern is a great way to deal with this complexity. Thanks for sharing this great intro into choreography and orchestration! Would love to see you make a video on Temporal 🙂

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว +1

      Thank you for the feedback!

  • @aditramaputra2057
    @aditramaputra2057 25 วันที่ผ่านมา +1

    Great info. Thanks for sharing 🙏

    • @MarcoLenzo
      @MarcoLenzo  25 วันที่ผ่านมา

      Thank you

  • @Mahmoudrezanaseri
    @Mahmoudrezanaseri 8 หลายเดือนก่อน +1

    Great breakdown of SAGA design pattern! Clear explanation on orchestration vs. choreography. Really helpful! Thanks

    • @MarcoLenzo
      @MarcoLenzo  8 หลายเดือนก่อน

      Glad you found it helpful! 😊

  • @bvboi
    @bvboi 9 หลายเดือนก่อน +1

    Great, I need to try this tomorrow.

    • @MarcoLenzo
      @MarcoLenzo  9 หลายเดือนก่อน

      Great! Good luck

  • @powell.christopher
    @powell.christopher ปีที่แล้ว +1

    Very interesting topic. Nicely and concisely explained. A follow-up would be great. As would overviews of some of the technologies mentioned. Thanks!

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      Will do! Thank you

  • @Jonathan1234000
    @Jonathan1234000 ปีที่แล้ว

    I would love to see more on using temporal to orchestrate sagas across multiple bounded contexts!

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      Coming up soon! Thanks for the feedback!

  • @alan-
    @alan- ปีที่แล้ว +1

    Great info, thanks for sharing

  • @rishiraj2548
    @rishiraj2548 4 หลายเดือนก่อน +1

    great thanks

    • @MarcoLenzo
      @MarcoLenzo  4 หลายเดือนก่อน

      Thank you

  • @RishiRajxtrim
    @RishiRajxtrim 6 หลายเดือนก่อน +1

    Apache Airflow,
    AWS Step Function,
    Temporal Cloud,
    Azure Logic Apps

    • @MarcoLenzo
      @MarcoLenzo  6 หลายเดือนก่อน +1

      Yeah and I'm sure there are many more :)

  • @LoveBhatia-p3b
    @LoveBhatia-p3b 11 หลายเดือนก่อน +4

    Stop Music in background :(

    • @MarcoLenzo
      @MarcoLenzo  11 หลายเดือนก่อน +4

      Yes! I received many complaints and in newer videos I don't use background music. I'm sorry 🙇

  • @yonatandaniyel5640
    @yonatandaniyel5640 ปีที่แล้ว

    Can you explain the difference between a Saga Orchestrator and a Process Manager? Both seem to coordinate messages to and from services and dictate the state of services. I guess it's been one of the more confusing architectural patterns I have had to digest. Choreography makes good sense, but where do we draw the distinction between Saga Orchestrator and Process Manager?

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      I will try.
      The Process Manager is one of the patterns described in the Enterprise Integration Patterns book and it applies to its context of messaging with pipes and filters. It's a way to create a controlled sequence in that scenario where the routing logic is centralized, in contrast to the Routing Slip pattern which is decentralized.
      The Saga Pattern is a higher level pattern that focuses on creating transaction-like guarantees in the context of long-lived transactions using compensation.
      The two are not mutually exclusive and can be used together. I think you could use a process manager for your saga orchestrator but you also have other options which do not rely on messaging.
      In conclusion, Process Manager is somewhat lower level than the Saga.
      That's my understanding.

  • @XiaolongLu-j1t
    @XiaolongLu-j1t 11 วันที่ผ่านมา

    atomikos and bitronix are solutions for XA(2pc) and database need support xa, is not alternative of saga. 🤔

    • @MarcoLenzo
      @MarcoLenzo  11 วันที่ผ่านมา

      Correct. Let me explain why I say the saga is an alternative to a distributed transaction. (Either / or)
      I say alternative because if you can afford doing distributed transactions, there's less value in adopting a Saga pattern.
      That said the two approaches could coexist but I see it as a rare scenario.

    • @XiaolongLu-j1t
      @XiaolongLu-j1t 10 วันที่ผ่านมา +1

      @@MarcoLenzo yes, in my opinion,nowdays xa is not the first consideration in distributed tx for its poor capacity. in jdbc scenario, other solutations like Seata(AT mode) is better.

    • @MarcoLenzo
      @MarcoLenzo  10 วันที่ผ่านมา

      @XiaolongLu-j1t Thanks a lot for sharing. I never used Apache Seata. You gave me something new to learn!

  • @cesarruiz8222
    @cesarruiz8222 ปีที่แล้ว +1

    orchestration

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      Thank you for the feedback!