Open AceHack opened 6 years ago
Out of curiosity: are there any significant differences between Distributed Sagas pattern and Durable Functions in Azure? (I am not suggesting that Service Fabric supports Durable Functions today, but wanted to understand the value proposition of Distributed Sagas).
First off THANK YOU, durable functions are amazing and I didn't even know they existed. Adding just normal FaaS and Duable FaaS to service fabric should be a high priority :) Secondly Distributed Sagas are slightly different or you could think of them as specific orchestration patterns on top of an orchestrator fuction. It could simplify creating distributed sagas a lot but the big difference is the backwards flow "undo/compesation" as part of a workflow. Basically I want to orchestrate a process that updates state in multiple services but it either to all succeed or none of it to succeed and I don't wan't the heavy hand of a 2 phase commit so the alternative is Sagas. Having 2PC would not be bad either really. I just looking for some scalable reliable ways to do cross service or cross partition "transactions". I use the term transaction very loosely because I don't really mean actual 100% transactions. But to me this would be much lower priority than adding distrubed functions first. :)
Also while durable functions are great it requres central orchestration. It would be nice to see a distributed version as well where each microservice involved was responsible for executing the workflow and ensuring it's relibility and durability.
I think that it would be awesome to be able to run Azure Functions Runtime on top of Service Fabric, especially with proper support Durable Functions.
Please add Distributed Sagas as first class as outlined here
https://www.youtube.com/watch?v=0UTOLRTwOX0
This would likely involve adding either a new messaging/remoting version that enforces sagas or a built in saga coordinator service or both.