Skip to content
Open
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
1657a08
docs: correct fairness dispatch semantics
jpvotta Sep 8, 2026
b8adf94
docs: preserve Fairness term capitalization
jpvotta Sep 9, 2026
f5ae7e6
docs: simplify Priority guidance
jpvotta Sep 9, 2026
76f8e44
docs: trim Fairness best practices
jpvotta Sep 9, 2026
566ffcd
docs: remove unsupported Fairness monitoring guidance
jpvotta Sep 9, 2026
1e9e636
docs: clarify long-running Fairness tasks
jpvotta Sep 9, 2026
bdeef11
Clarify fairness limitations
jpvotta Sep 9, 2026
1851d8a
Correct Priority design pattern
jpvotta Sep 9, 2026
f3f286f
Restore multi-tenant patterns page
jpvotta Sep 9, 2026
c7cbb7b
Label fairness keys in diagram
jpvotta Sep 9, 2026
c0f9fed
Clarify fairness scheduling model
jpvotta Sep 9, 2026
08fdf63
Describe idle capacity sharing
jpvotta Sep 9, 2026
9dabfee
Clarify Fairness key rate limits
jpvotta Sep 9, 2026
39e8d93
Restore Priority and Fairness guidance
jpvotta Sep 9, 2026
8e72697
Preserve Priority and Fairness narrative
jpvotta Sep 9, 2026
79967a6
Restore Fairness comparison table
jpvotta Sep 9, 2026
6733017
Preserve Priority pattern narrative
jpvotta Sep 9, 2026
cdd2e6a
Leave canonical Priority and Fairness guide unchanged
jpvotta Sep 9, 2026
6c68755
Keep virtual queue model in Fairness comparison
jpvotta Sep 9, 2026
72c06b7
Label Fairness diagram virtual queues
jpvotta Sep 9, 2026
a253ccf
Use weighted fair dispatch in comparison
jpvotta Sep 9, 2026
1e13f00
Preserve Priority pitfall guidance
jpvotta Sep 9, 2026
4ce386f
Restore original Priority guidance
jpvotta Sep 9, 2026
ea4c72f
Keep Priority copy close to original
jpvotta Sep 9, 2026
62dac13
Restore queued Task priority guidance
jpvotta Sep 9, 2026
1088365
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 @@ -240,7 +240,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 @@ -284,8 +284,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