Book Image

C# 8 and .NET Core 3 Projects Using Azure - Second Edition

By : Paul Michaels, Dirk Strauss, Jas Rademeyer
Book Image

C# 8 and .NET Core 3 Projects Using Azure - Second Edition

By: Paul Michaels, Dirk Strauss, Jas Rademeyer

Overview of this book

.NET Core is a general-purpose, modular, cross-platform, and opensource implementation of .NET. The latest release of .NET Core 3 comes with improved performance and security features, along with support for desktop applications. .NET Core 3 is not only useful for new developers looking to start learning the framework, but also for legacy developers interested in migrating their apps. Updated with the latest features and enhancements, this updated second edition is a step-by-step, project-based guide. The book starts with a brief introduction to the key features of C# 8 and .NET Core 3. You'll learn to work with relational data using Entity Framework Core 3, before understanding how to use ASP.NET Core. As you progress, you’ll discover how you can use .NET Core to create cross-platform applications. Later, the book will show you how to upgrade your old WinForms apps to .NET Core 3. The concluding chapters will then help you use SignalR effectively to add real-time functionality to your applications, before demonstrating how to implement MongoDB in your apps. Finally, you'll delve into serverless computing and how to build microservices using Docker and Kubernetes. By the end of this book, you'll be proficient in developing applications using .NET Core 3.
Table of Contents (13 chapters)

Load balancing

The title of this chapter is A Load-Balanced Order Processing Microservice Using Docker and Azure Kubernetes Service. In fact, you've already seen this since the worker pods were picking up items from the queue based on which were available. However, let's see if we can engineer a more dramatic demonstration of what that actually means. Let's go into the dashboard and delete one of the pods; select the ellipsis to the right-hand side of a pod and delete it:

Once you've deleted the pod, you should (almost instantly) notice the screen change to look something like this:


As you can see, as soon as Kubernetes realizes that you have killed one of the pods, it instantly compensates by starting a new one! How did it know to do this? Well, in our deployment.yaml file, we had set the replicas to be 2. To prove this, let's increase the replicas...