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

Understanding grain state persistence

As we learned in earlier chapters, grains can correspond to real-world entities. For example, in our Distel application, HotelGrain represents the digital life of a hotel in our chain of hotels. UserGrain represents the user or customer of our application. These grains will process the messages received from clients. UserGrain should hold user details such as name and address, which we call state. There is a method to update state. If UserGrain receives a message to update the address, UserGrain will update the address in the in-memory local state so that it can send the updated address when requested later. What happens when the grain deactivates? The internal in-memory state is lost. The application won't be able to serve the updated address. So, it is important to persist the grain state in a permanent database such as SQL Server or Azure CosmosDB. With the state persisted in the permanent storage medium, the grain can load the state from...