docs: modernize Orleans streaming guidance - #10330
Merged
ReubenBond merged 7 commits intoAug 7, 2026
Merged
ReubenBond merged 7 commits into
ReubenBond merged 7 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates Orleans streaming documentation to Orleans 10-era, task-focused guidance: selecting the right messaging abstraction, correctly modeling stream identity/subscriptions, and clarifying provider-specific delivery/ordering/replay behavior plus production operations considerations.
Changes:
- Replaces legacy “why streams”/API docs with Orleans 10 guidance on abstraction choice, stream identity, subscription lifecycles, and delivery semantics.
- Adds new conceptual/how-to pages for delivery semantics, PubSub storage, and streaming operations/tuning.
- Refreshes/rewrites streaming code snippets and updates (and removes legacy v3) snippet projects accordingly.
Show a summary per file
| File | Description |
|---|---|
| docs/site/src/content/docs/streaming/streams-why.md | Reframes guidance as “choose a messaging abstraction” with a comparison table and selection heuristics. |
| docs/site/src/content/docs/streaming/streams-quick-start.md | Updates quickstart to Orleans 10 memory streams + implicit subscriptions and aligns narrative with provider semantics. |
| docs/site/src/content/docs/streaming/streams-programming-apis.md | Condenses/modernizes API guidance around identity, producers/consumers, explicit vs implicit subscriptions, and client behavior. |
| docs/site/src/content/docs/streaming/streaming-operations.md | Adds operational guidance (backpressure, tuning, and metrics to observe). |
| docs/site/src/content/docs/streaming/stream-providers.md | Replaces long-form provider descriptions with a capability matrix and modern configuration guidance. |
| docs/site/src/content/docs/streaming/snippets/streaming/streaming.csproj | Updates snippet package references to Orleans 10.2.x and related dependencies. |
| docs/site/src/content/docs/streaming/snippets/streaming/ImplicitSubscriptions.cs | Replaces prior implicit subscription example with a device-telemetry scenario and updated observer wiring. |
| docs/site/src/content/docs/streaming/snippets/streaming/ExplicitSubscriptions.cs | Replaces prior explicit subscription example with subscribe/resume/unsubscribe lifecycle guidance in code. |
| docs/site/src/content/docs/streaming/snippets/streaming/Configuration.cs | Adds memory stream + client configuration snippets and updates Azure Queue + PubSubStore examples. |
| docs/site/src/content/docs/streaming/snippets/streaming/BasicStreaming.cs | Introduces shared stream identity helper + producer grain using grain timers and typed payloads. |
| docs/site/src/content/docs/streaming/snippets-v3/streams-quickstart/streams-quickstart.csproj | Removes legacy Orleans v3 snippet project. |
| docs/site/src/content/docs/streaming/snippets-v3/streams-quickstart/StreamConfiguration.cs | Removes legacy Orleans v3 streaming configuration snippet. |
| docs/site/src/content/docs/streaming/snippets-v3/streams-quickstart/ReceiverGrain.cs | Removes legacy Orleans v3 receiver grain snippet. |
| docs/site/src/content/docs/streaming/snippets-v3/streams-quickstart/ProducerGrain.cs | Removes legacy Orleans v3 producer grain snippet. |
| docs/site/src/content/docs/streaming/snippets-v3/streams-quickstart/IRandomReceiver.cs | Removes legacy Orleans v3 receiver interface snippet. |
| docs/site/src/content/docs/streaming/pubsub-storage.md | Adds new how-to page explaining PubSubStore durability implications and configuration examples. |
| docs/site/src/content/docs/streaming/index.md | Modernizes the landing page and reorganizes into a clearer “get started” flow for Orleans 10. |
| docs/site/src/content/docs/streaming/delivery-semantics.md | Adds new conceptual page clarifying producer/consumer acknowledgment, retries, ordering, and rewindability. |
| docs/site/src/content/docs/streaming/broadcast-channel.md | Updates broadcast channel docs to correct identity/routing semantics and contrasts with streams. |
Copilot's findings
Suppressed comments (1)
docs/site/src/content/docs/streaming/snippets/streaming/Configuration.cs:125
- Same issue as the managed-identity example: hard-coded queue names ("orleans-stream-{index}") can collide across clusters/environments which share a storage account. Prefer Orleans default queue naming (derived from
ServiceId+ provider name) or include a cluster-specific prefix.
options.QueueServiceClient =
new QueueServiceClient(connectionString);
options.QueueNames =
Enumerable.Range(0, 8)
.Select(index => $"orleans-stream-{index}")
.ToList();
- Files reviewed: 19/19 changed files
- Comments generated: 1
ReubenBond
added a commit
to ReubenBond/orleans
that referenced
this pull request
Aug 5, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9be838b5-7660-444e-b2c5-bf2e9b373472
ReubenBond
added a commit
to ReubenBond/orleans
that referenced
this pull request
Aug 7, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 9be838b5-7660-444e-b2c5-bf2e9b373472
ReubenBond
force-pushed
the
reubenbond-modernize-orleans-streaming-docs
branch
from
August 7, 2026 18:02
662260b to
dd5c198
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
ReubenBond
force-pushed
the
reubenbond-modernize-orleans-streaming-docs
branch
from
August 7, 2026 19:56
605498d to
019be7d
Compare
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
This was referenced Aug 28, 2026
This was referenced Aug 28, 2026
Merged
This was referenced Sep 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modernizes the streaming documentation for Orleans 10 with task-focused guidance for choosing messaging abstractions, configuring and using streams, managing subscriptions and PubSub storage, and operating production workloads. Updates provider and delivery semantics from repository truth, including alpha status, durability, rewindability, prerequisites, and corrected broadcast channel identity and delivery behavior.
Microsoft Reviewers: Open in CodeFlow