Orleans (software framework)
Software framework
From Wikipedia, the free encyclopedia
Orleans is a cross-platform software framework for building scalable and robust distributed interactive applications based on the .NET Framework[2][3] or on the more recent .NET.
| Orleans | |
|---|---|
| Original author | Microsoft Research |
| Developers | Microsoft, 343 Industries |
| Initial release | January 2015 |
| Stable release | 9.1.2
/ February 13, 2025[1] |
| Written in | C# |
| Operating system | Windows, Linux, macOS |
| Platform | .NET Framework, .NET |
| Type | Software framework |
| License | MIT License |
| Website | dotnet |
| Repository | github |
Overview
Orleans was originally created by the eXtreme Computing Group at Microsoft Research[2] and introduced the virtual actor model as a new approach to building distributed systems for the cloud. Orleans scales from a single on-premises server to highly-available and globally distributed applications in the cloud.[4]
The virtual actor model is based on the actor model but has several differences:[5]
- A virtual actor always exists, it cannot be explicitly created or destroyed.
- Virtual actors are automatically instantiated. If a server hosting an actor crashes, the next message sent to the actor causes it to be reinstantiated automatically.
- The server that an actor is on is transparent to the application code.
- Orleans can automatically create multiple instances of the same stateless actor.
Starting with cloud services for the Halo franchise, the framework has been used by a number of cloud services at Microsoft[6] and other companies since 2011.[7] The core Orleans technology was transferred to 343 Industries and is available as open source since January 2015.[8] The source code is licensed under MIT License and hosted on GitHub.[9]
Orleans runs on Microsoft Windows, Linux, and macOS and is compatible with .NET Standard 2.0 and above.[10]
Features
Some Orleans features include:[11]
- Persistence
- Distributed ACID transactions[12][13]
- Streams
- Timers & Reminders
- Fault tolerance
Related implementations
The Electronic Arts BioWare division created Project Orbit. It is a Java implementation of virtual actors that was heavily inspired by the Orleans project.[14][15]