Skip to content

docs: modernize Orleans streaming guidance - #10330

Merged
ReubenBond merged 7 commits into
dotnet:mainfrom
ReubenBond:reubenbond-modernize-orleans-streaming-docs
Aug 7, 2026
Merged

ReubenBond merged 7 commits into
dotnet:mainfrom
ReubenBond:reubenbond-modernize-orleans-streaming-docs

Conversation

@ReubenBond

@ReubenBond ReubenBond commented Aug 2, 2026

Copy link
Copy Markdown
Member

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

Copilot AI review requested due to automatic review settings August 2, 2026 16:08

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Comment thread docs/site/src/content/docs/streaming/snippets/streaming/Configuration.cs Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 19/19 changed files
  • Comments generated: 0 new

Copilot AI review requested due to automatic review settings August 5, 2026 13:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot's findings

  • Files reviewed: 19/19 changed files
  • Comments generated: 0 new

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
ReubenBond force-pushed the reubenbond-modernize-orleans-streaming-docs branch from 662260b to dd5c198 Compare August 7, 2026 18:02
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
ReubenBond force-pushed the reubenbond-modernize-orleans-streaming-docs branch from 605498d to 019be7d Compare August 7, 2026 19:56
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 856dee3e-c914-45a6-a6b2-07a28aca8dc1
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 7, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants