Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
olahallvall authored Apr 23, 2024
1 parent 2eba405 commit 8fe7586
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ FlowDance aims to address several critical aspects in the context of microservic
If a step cannot be fully rolled back (e.g., due to concurrent changes), compensating transactions undo the effects of previous steps.
This pattern ensures that the system eventually converges to a consistent state, even after partial failures.

## Where you maybe are today
## Where you might be today?
The team(s) has been working to split the monolith or at least some steps in that direction. To uphold strong Consistency the microservices use Distributed Transactions Calls Driven by MSDTC.

![Distributed monolith](Docs/distributed-monolith.png)
Expand All @@ -40,6 +40,13 @@ In short - by replacing **System.Transactions.TransactionScope** with **FlowDanc

![Synchronous choreography-based call chains supported by FlowDance](Docs/synchronous-choreography-based-call-chains-with-flowdance.png)

In the center of **FlowDance**, there is something called a **Span**. A **Span** carries the information for how a transaction can be compensated.
A **Span** is initialized using the **SpanOpened** event and closed using the **SpanClosed** event. The image below illustrates a **Span** with a blue bracket.
The initial Span is called the Root Span, and it serves as the starting point for subsequent calls. Subsequent Spans share the same Correlation ID as the Root Span.

![Synchronous choreography-based call chains supported by FlowDance](Docs/synchronous-choreography-based-call-chains-with-span.png)


**Components of FlowDance**:
- **Client Library**: The prima ballerina, guiding services in their graceful movements.
- **Back-End Service**: A symphony of RabbitMQ and Microsoft Azure Durable Functions.
Expand Down

0 comments on commit 8fe7586

Please sign in to comment.