Distributed .NET with Microsoft Orleans: Build robust and highly scalable distributed applications without worrying about complex programming patterns
- Length: 260 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-05-27
- ISBN-10: 1801818975
- ISBN-13: 9781801818971
- Sales Rank: #599046 (See Top 100 Books)
Adopt an effortless approach to avoid the hassles of complex concurrency and scaling patterns when building distributed applications in .NET
Key Features
- Explore the Orleans cross-platform framework for building robust, scalable, and distributed applications
- Handle concurrency, fault tolerance, and resource management without complex programming patterns
- Work with essential components such as grains and silos to write scalable programs with ease
Book Description
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.
What you will learn
- Get to grips with the different cloud architecture patterns that can be leveraged for building distributed applications
- Manage state and build a custom storage provider
- Explore Orleans key design patterns and understand when to reuse them
- Work with different classes that are created by code generators in the Orleans framework
- Write unit tests for Orleans grains and silos and create mocks for different parts of the system
- Overcome traditional challenges of latency and scalability while building distributed applications
Who this book is for
This book is for .NET developers and software architects looking for a simplified guide for creating distributed applications, without worrying about complex programming patterns. Intermediate web developers who want to build highly scalable distributed applications will also find this book useful. A basic understanding of .NET Classic or .NET Core with C# and Azure will be helpful.
Distributed .NET with Microsoft Orleans Contributors About the authors About the reviewers Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Section 1 - Distributed Applications Architecture Chapter 1: An Introduction to Distributed Applications Technical requirements Monolithic applications versus distributed applications Common issues with monolithic apps N-tier distributed applications Challenges with distributed applications Design and implementation Data management Messaging Designing applications for scalability Vertical scaling or scaling up Horizontal scaling or scaling out Load balancers Caching Distributed caching Sharding Designing applications for high availability Azure data centers Azure regions Azure paired regions Azure Traffic Manager Availability sets and availability zones SQL Always On availability groups Architecture for high availability Summary Questions Chapter 2: Cloud Architecture and Patterns for Distributed Applications Technical requirements A primer on common design principles Design principles Understanding cloud architecture styles Microservices architecture Event-driven architecture Understanding cloud design patterns The gateway aggregation pattern The CQRS pattern The cache-aside pattern The priority queue pattern The external configuration store pattern The pipes and filters pattern Summary Questions Section 2 - Working with Microsoft Orleans Chapter 3: Introduction to Microsoft Orleans Understanding the actor model for distributed systems The origin of Microsoft Orleans The Orleans runtime The messaging system The hosting system The execution system Orleans design choices Serialization Strong isolation Asynchrony The distributed directory Eventual consistency Message guarantees Reliability Cooperative multitasking Single threading Why should I learn about Orleans? When to choose Orleans Summary Questions Chapter 4: Understanding Grains and Silos Technical requirements Say hello to Orleans Cloud-native objects – grains Hosting silos Creating your first Orleans application What is happening behind the scenes? Naming a grain Stateless worker grains Request scheduling in Orleans Interleaving grain code execution Co-hosting silos with ASP.NET core Summary Questions Chapter 5: Persistence in Grains Technical requirements Understanding grain state persistence Adding grain state persistence using Azure Cosmos DB Custom persistence provider Grains with multiple states Grains directly interacting with storage Summary Further reading Questions Chapter 6: Scheduling and Notifying in Orleans Technical requirements Understanding and implementing timers Implementing a timer in a HotelGrain Understanding and implementing reminders Configuration Implementing reminders in a grain Understanding and implementing notifications Implementing notifications in a grain Summary Questions Chapter 7: Engineering Fundamentals in Orleans Technical requirements Setting up the Orleans dashboard Dashboard features Dashboard APIs Silo Stats Understanding unit testing in Orleans Adding real-time telemetry Enabling application logging in Application Insights Summary Questions Section 3 - Building Patterns in Orleans Chapter 8: Advanced Concepts in Orleans Technical requirements Streaming in Orleans Implicit subscriptions Looking into heterogeneous silos Understanding grain interface versioning Grain activation with versions How to deploy new versions of grains Summary Questions Chapter 9: Design Patterns in Orleans Technical requirements Distributed cache Batch message processing with Dispatcher Cadence with timers Aggregating with the Reduce pattern Summary Questions Section 4 - Hosting and Deploying Orleans Applications to Azure Chapter 10: Deploying an Orleans Application in Azure Kubernetes Technical requirements Understanding Azure Kubernetes Steps to run an Orleans application in Azure Kubernetes Leveraging Azure Kubernetes hosting Creating a Docker image Pushing the Docker image to Azure Container Registry Deploying to Azure Kubernetes Summary Questions Further reading Chapter 11: Deploying an Orleans Application to Azure App Service Technical requirements Introduction to Azure App Service What is included in an App Service plan? Creating the required Azure resources Configuring the application to run on App Service Geographically distributing the application Deploying an Orleans application to App Service Summary Questions Why subscribe? Other Books You May Enjoy Packt is searching for authors like you
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: Distributed .NET with Microsoft Orleans: Build robust and highly scalable distributed applications without worrying about complex programming patterns
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.