Implementation Details Overview
Some Orleans behaviors are sufficiently complex that they need ordered startup and shutdown. To address this, a general component lifecycle pattern has been introduced.
Orleans messaging delivery guarantees are at-most-once, by default. Optionally, if configured to do retries upon timeout, Orleans provides at-least-once delivery instead.
Orleans Scheduler is a component within the Orleans runtime responsible for executing application code and parts of the runtime code to ensure the single threaded execution semantics.
Orleans provides cluster management via a built-in membership protocol, which we sometimes refer to as Silo Membership. The goal of this protocol is for all silos (Orleans servers) to agree on the set of currently alive silos, detect failed silos, and allow new silos to join the cluster.
This section provides a high level overview of Orleans Stream implementation. It describes concepts and details that are not visible on the application level.
Load balancing, in a broad sense, is one of the pillars of the Orleans runtime.
This section shows how to unit test your grains to make sure they behave correctly.