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

Naming a grain

When we create an object of a class using a new operator, what we get is the reference to the memory location. The variable identity is the name we define. If we create another object of the same class, we will get a reference to some other memory space.

As we learned before, grains represent some real-world entities. They exist virtually always. So, grains must have an identity to activate or interact with them. This is fundamentally the primary key of the grain. The scope of the key is the grain type. In the example that we saw in the previous section, Distel.Agra is the primary key of the hotel grain that we created. It represents the hotel with the name Distel.Agra. The scope of this identity is limited to hotel grains.

In Orleans, we have three main types of primary keys:

  • Integer
  • GUID
  • String

In addition to these, there are compound keys:

  • Integer + string
  • GUID + string

The grain key is determined by the interface...