Book Image

Distributed .NET with Microsoft Orleans

By : Bhupesh Guptha Muthiyalu, Suneel Kumar Kunani
Book Image

Distributed .NET with Microsoft Orleans

By: Bhupesh Guptha Muthiyalu, Suneel Kumar Kunani

Overview of this book

Building distributed applications in this modern era can be a tedious task as customers expect high availability, high performance, and improved resilience. With the help of this book, you'll discover how you can harness the power of Microsoft Orleans to build impressive distributed applications. Distributed .NET with Microsoft Orleans will demonstrate how to leverage Orleans to build highly scalable distributed applications step by step in the least possible time and with minimum effort. You'll explore some of the key concepts of Microsoft Orleans, including the Orleans programming model, runtime, virtual actors, hosting, and deployment. As you advance, you'll become well-versed with important Orleans assets such as grains, silos, timers, and persistence. Throughout the book, you'll create a distributed application by adding key components to the application as you progress through each chapter and explore them in detail. By the end of this book, you'll have developed the confidence and skills required to build distributed applications using Microsoft Orleans and deploy them in Microsoft Azure.
Table of Contents (17 chapters)
1
Section 1 - Distributed Applications Architecture
4
Section 2 - Working with Microsoft Orleans
10
Section 3 - Building Patterns in Orleans
13
Section 4 - Hosting and Deploying Orleans Applications to Azure

The Orleans runtime

We learned in the previous section that the grains in Orleans are virtually always present. They cannot be created or destroyed. Here, the heavy lifting is done by the Orleans runtime. The Orleans runtime ensures that a grain is always available to serve commands. When a request comes to a grain that is currently not instantiated, the Orleans runtime will automatically activate the grain on a server and initialize it to serve the request. The Orleans runtime will not instantiate the grain if there are no requests pending on it. If the server where the grain is currently instantiated fails, the runtime will automatically create the grain on another available server on the next invocation. Here, the developer need not keep track of the re-creation of a failing actor, unlike other actor programming models. The Orleans runtime will take care of the lifetime management for the grain. While activating or deactivating a grain, the Orleans runtime will also notify the application...