Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
51da89c
docs: correct fairness dispatch semantics
jpvotta Sep 8, 2026
a8e7dc7
docs: preserve Fairness term capitalization
jpvotta Sep 9, 2026
9e912ae
docs: simplify Priority guidance
jpvotta Sep 9, 2026
d0c7efc
docs: trim Fairness best practices
jpvotta Sep 9, 2026
c72a28f
docs: remove unsupported Fairness monitoring guidance
jpvotta Sep 9, 2026
5df3d54
docs: clarify long-running Fairness tasks
jpvotta Sep 9, 2026
e21d9f4
Clarify fairness limitations
jpvotta Sep 9, 2026
15aa886
Correct Priority design pattern
jpvotta Sep 9, 2026
26f4b29
Restore multi-tenant patterns page
jpvotta Sep 9, 2026
0e2433e
Label fairness keys in diagram
jpvotta Sep 9, 2026
f3d5c51
Clarify fairness scheduling model
jpvotta Sep 9, 2026
f9fa21d
Describe idle capacity sharing
jpvotta Sep 9, 2026
156bfa6
Clarify Fairness key rate limits
jpvotta Sep 9, 2026
cb5f2cd
Restore Priority and Fairness guidance
jpvotta Sep 9, 2026
4c55686
Preserve Priority and Fairness narrative
jpvotta Sep 9, 2026
1e4c78f
Restore Fairness comparison table
jpvotta Sep 9, 2026
97a6e34
Preserve Priority pattern narrative
jpvotta Sep 9, 2026
49d5508
Leave canonical Priority and Fairness guide unchanged
jpvotta Sep 9, 2026
24a0284
Keep virtual queue model in Fairness comparison
jpvotta Sep 9, 2026
9559606
Label Fairness diagram virtual queues
jpvotta Sep 9, 2026
34b96ed
Use weighted fair dispatch in comparison
jpvotta Sep 9, 2026
88f5e21
Preserve Priority pitfall guidance
jpvotta Sep 9, 2026
26fbd99
Restore original Priority guidance
jpvotta Sep 9, 2026
4d4e18c
Keep Priority copy close to original
jpvotta Sep 9, 2026
7cba923
Restore queued Task priority guidance
jpvotta Sep 9, 2026
2ebbe4b
Restore original Fairness pitfalls
jpvotta Sep 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/design-patterns/downstream-rate-limiting.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ public class MyWorkflowImpl implements MyWorkflow {

This pattern is a good fit when your Workflow calls a downstream service with explicit requests-per-second limits, when you need throughput enforcement that holds across many concurrent Workflow instances without per-Activity logic, and when only a subset of Activity types require throttling and others should run without restriction.

It is not a good fit when you need concurrency limits rather than throughput limits (see [Priority Task Queues](/design-patterns/priority-task-queues)), when the downstream system has no rate limit and throughput is bounded only by Workflow logic, or when all Activities require the same limit and a single shared queue suffices.
It is not a good fit when you need concurrency limits rather than throughput limits, when the downstream system has no rate limit and throughput is bounded only by Workflow logic, or when all Activities require the same limit and a single shared queue suffices.

## Benefits and trade-offs

Expand Down Expand Up @@ -288,8 +288,8 @@ The concurrency slots (`MaxConcurrentActivityExecutionSize`, `MaxConcurrentWorkf

### Patterns

- **[Priority Task Queues](/design-patterns/priority-task-queues)**: Route work to separate queues by urgency, with different concurrency budgets per tier.
- **[Fairness](/design-patterns/fairness)**: Give each tenant an equal throughput share when multiple tenants share capacity.
- **[Priority](/design-patterns/priority-task-queues)**: Order Task dispatches by urgency within a shared Task Queue.
- **[Fairness](/design-patterns/fairness)**: Distribute Task dispatches among tenants that share a Task Queue.
- **[Worker-Specific Task Queues](/design-patterns/worker-specific-taskqueue)**: Route Activities to a specific Worker host for resource or data affinity.

### Guides
Expand Down
Loading