Microsoft Orleans for Developers: Build Cloud-Native, High-Scale, Distributed Systems in .NET Using Orleans
Use a simple programming model and the .NET language of your choice to build large distributed systems. This book teaches you the Microsoft Orleans framework.
Even well-versed professional software developers with expertise in C# (or another language) find themselves unequipped to meet the challenges of distributed systems as infrastructure moves to multi-core; multiple computers are being used for scale, redundancy, and cloud computing; and multi-region deployment is taking place.
Orleans handles many of the concerns of distributed computing and cloud infrastructure, allowing you to concentrate on writing application logic.
What You Will Learn
- Know the key concepts for building distributed systems
- Gain a background in the origin and evolution of Orleans, and why it is important for your projects
- Dive into each of the features available in Orleans by building an example application
- Develop troubleshooting skills for fixing bugs and running diagnostics
- Achieve performance optimization and advanced configuration
- Use the Orleans Dashboard to discern valuable insight in system performance
Who This Book Is For
Experienced C# developers who want to build a new high-scale application (perhaps for an IoT requirement) and are interested in learning the concepts and features available in Orleans
Table of Contents About the Author About the Technical Reviewer Introduction Chapter 1: Fundamentals Motivation for Orleans Brief History of Orleans Orleans Timeline Use Cases Architectures Cloud Summary Chapter 2: Grains and Silos Grains Grains Identity Grains Life Cycle Turn-Based Concurrency Message Delivery Guarantees Virtual Actors? Silos The Scheduler Cluster Membership Protocol Summary References Chapter 3: Hello World Project Structure Grains Types IRobot Creating Your First Grains Interface Creating Your First Grains Class Creating Your First Host Creating Your First Client Summary Chapter 4: Debugging an Orleans Application Logging Metrics Configuring Application Insights Writing a Custom Consumer Summary Chapter 5: Orleans Dashboard Installation Grains Type Overview Silos Overview Log Stream Advanced Usage Summary Chapter 6: Adding Persistence Robot State Adding State to the Grains Configuring the Storage Provider Summary Chapter 7: Adding ASP.NET Core Adding an ASP.NET Web API Project Calling Grains from Controller Actions Summary Chapter 8: Unit Testing Adding a Test Project Adding Silos Configuration Adding a Test Method Summary Chapter 9: Streams Stream Providers Configuring the Host Publishing Events from Grains Subscribing to Streams in Grains Streams in the Client Summary Chapter 10: Timers and Reminders Timers vs. Reminders Registering a Timer Adding a Timer to the RobotGrain Adding a Reminder to the RobotGrain Summary Chapter 11: Transactions Motivation for Transactions What Is ACID? Creating an Azure Storage Account Configuring Transactions Grains Interfaces Implementing Grains Classes Adding a Controller Summary Chapter 12: Event Sourced Grains Overview Introducing Event Sourcing Defining the State Implementing the Grains Class Adding the Controller Unconfirmed State Summary Chapter 13: Updating Grains Updating Grains Logic Interface Versioning Upgrading State Summary Chapter 14: Optimization Stateless Workers Reentrancy Cancellation Tokens One-Way Requests Readonly Immutable External Tasks Controlling Grains Life Cycle Summary Chapter 15: Advanced Features Request Context Grains Call Filters Grains Placement Startup Tasks Grains Service Observers Chapter 16: Interviews Roger Creyke When did you first decide to use Orleans? Why Orleans? How would you build something without an actor framework? You’re currently using Orleans in production; could you describe your architecture? How easy is Orleans to manage? Over the years, you’ve picked Orleans for several projects; what keeps bringing you back? What do you see as Orleans’ greatest strengths/weaknesses? What would you change about Orleans? Why do you think Orleans isn’t more popular? Sergey Bykov Where did the name for Orleans come from? What was it like to take an internal research project and publish it as open source? What benefits did you see from open sourcing Orleans? Were there any use cases for Orleans that took you by surprise? Where do development teams get the most value from using Orleans? You have moved on from Orleans now, but where do you see the future of cloud-native applications going? Index
How to download source code?
1. Go to:
2. In the Find a repository… box, search the book title:
Microsoft Orleans for Developers: Build Cloud-Native, High-Scale, Distributed Systems in .NET Using Orleans, 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.