Skip to content

Commit c826c88

Browse files
authored
Update workflows.md (#7243)
1 parent eeae020 commit c826c88

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

architecture/workflows.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: Workflows
33
summary: Techniques for building stateful business workflows in distributed systems
4-
reviewed: 2023-07-18
4+
reviewed: 2025-06-30
55
callsToAction: ['solution-architect']
66
---
77

@@ -20,7 +20,7 @@ _A choreographed event-driven workflow across multiple endpoints, visualized by
2020

2121
### Implementing choreographed workflows
2222

23-
NServiceBus provides a simple [publish/subscribe](/nservicebus/messaging/publish-subscribe/publish-handle-event.md) API for all supported messaging technologies. NServiceBus can automatically create and manage the necessary infrastructure like topics, subscriptions, and queues.
23+
NServiceBus provides a simple [publish/subscribe](/nservicebus/messaging/publish-subscribe/publish-handle-event.md) API for all supported messaging technologies. NServiceBus can automatically create and manage the necessary infrastructure, like topics, subscriptions, and queues.
2424

2525
![](nsb-pub-sub.png)
2626

@@ -29,7 +29,7 @@ NServiceBus provides a simple [publish/subscribe](/nservicebus/messaging/publish
2929
### Challenges
3030

3131
* When implementing complex workflows, messages flowing through the system can quickly become difficult to understand and track. To have a full picture of the message flow, the implementation of every service needs to be known. The absence of a central processor requires more effort to detect failed or stuck business processes. [Particular Service Platform monitoring](/monitoring/) helps to understand and monitor complex choreographed workflows.
32-
* Putting too much data on events will quickly re-introduce coupling and impact overall system performance. Read more about properly sizing event messages in the blog post on [putting events on a diet](https://particular.net/blog/putting-your-events-on-a-diet).
32+
* Putting too much data on events will quickly reintroduce coupling and impact overall system performance. Read more about properly sizing event messages in the blog post on [putting events on a diet](https://particular.net/blog/putting-your-events-on-a-diet).
3333
* Complex workflows that require aggregation of multiple events require local state. Service-internal [orchestration using NServiceBus sagas](#orchestration) can be used to easily aggregate multiple events and process timeouts in a component of a choreographed workflow.
3434
* Maintaining a consistent state across all choreography participants in case of failures can become challenging as the coordination and flow of compensating events can quickly multiply the complexity of a choreographed workflow. Choreography is best used for processes that tolerate eventual consistency. [Orchestrated workflows](#orchestration) may be better for processes that require more consistency.
3535

@@ -53,4 +53,4 @@ _An orchestrated workflow implemented as an NServiceBus Saga, visualized by [Ser
5353
### Challenges
5454

5555
* Orchestrators have much higher coupling due to the dependency on the components that are being orchestrated for the workflow. This makes it likely that orchestrators need to change when those components change. Additionally, the orchestrator may require data from those components, further increasing coupling. Orchestration can be a good choice for technical processes within a bounded context, whereas [choreography](#choreography) is often a better approach for processes involving more than one bounded context.
56-
* Orchestrators are more difficult to scale because all workflow communication has to go through the central orchestrator, introducing a potential bottleneck. NServiceBus sagas follow best practices for performance, to optimize integration with all supported data stores for state storage.
56+
* Orchestrators are more difficult to scale because all workflow communication has to go through the central orchestrator, introducing a potential bottleneck. NServiceBus sagas follow performance best practices to optimize integration with all supported data stores for state storage.

0 commit comments

Comments
 (0)