Letting each service communicate reliably in a distributed application is a real challenge. In this course, Scaling Applications with Microservices and NServiceBus 6, you'll see that it doesn't have to be difficult if you use the NServiceBus framework. First, you'll discover distributed applications theory and where microservices and the service bus come in. Next, you'll explore message-based microservice architecture using NServiceBus. Then, you'll learn modeling workflows with NServiceBus sagas. Finally, you'll learn how to use NServiceBus tools to monitor message workflow. By the end of this course, you'll be ready to create a distributed application with messaging using NServiceBus.
Course Overview Hello everyone, my name is Roland Guijt, and welcome to my course, Scaling Applications with Microservices and NServiceBus. I'm a Microsoft MVP, independent software architect, developer, and trainer based in the Netherlands. Letting each service communicate reliably in a distributed application is a real challenge. In this course, you'll see that it doesn't have to be difficult if you use the NServiceBus Framework. Some of the major topics I will cover include distributed applications theory, and where microservices and NServiceBus come in, message-based microservice architecture using NServiceBus, modeling workflows with NServiceBus sagas, and using NServiceBus tools to monitor message workflow. By the end of this course, you will be ready to create a distributed application with messaging using NServiceBus. Before beginning the course, you should be familiar with. NET and the C# language. Get ready to create microservices using one of the best service bus frameworks out there, here at Pluralsight.
Distributed Applications, Microservices, and the Service Bus Hello, this is Roland Guijt. Welcome to the course, Scaling Applications with microservices and NServiceBus. The microservices architecture is a great option if you want to keep complex applications manageable, and at the same time optimize the user experience. As we will see, the NServiceBus Framework is a great tool to support this architecture. Let's go and have a look at what I'm going to talk about in the first module. After following the first module, you will be able to determine if microservices are suitable for your solution. To illustrate, I want to start with looking at other architectures to give you a sense of what problems microservices are trying to solve. The first one is a monolithic application where everything is developed as one big package. Then we expand these thoughts by entering a distributed computing realm. First some theory about distributed applications, and then the techniques RPC and REST within service-oriented architecture. This leads to the topic where we want to be, microservices, which is also a distributed computing architecture, and the service bus, but first things first, in the next clip I will talk about monoliths.
Messaging with NServiceBus After this module, you'll know everything that is needed to implement a microservice architecture with NServiceBus. First you'll have to know what NServiceBus is and how to prepare your machine for it. Then I'll dive right in with a demo, after which we will take a look at the different kinds of messages and how they are routed. There's also lots to tell you about the configuration of NServiceBus. In this section, you'll also see the different transports NServiceBus can use. NServiceBus is fault tolerant by default, and we'll see the ins and outs of that. And lastly the request/response messaging pattern.
Modeling Workflows with NServiceBus Sagas After watching this module, you will be able to model sagas in NServiceBus. Sagas are long-running business processes. First I'll explain what a saga is, then you'll see how to define a saga right away. The next topic is about the various patterns you can use. Timeouts are next, which are like an alarm clock, and you should know a few things about persistence in relation to sagas.
Beyond the Basics with NServiceBus This module is about advanced NServiceBus topics. I'll dive into messaging a bit deeper, and we'll see that NServiceBus offers not only flexibility in configuration, but is also fairly easy to customize. First I'll look at how transactions work in NServiceBus with the DTC and Outbox. We'll also see a lot of features of messaging we didn't cover in the second module. I'll tell you about the messaging pipeline of NServiceBus with steps and behaviors, and performance counters are a great way to monitor what's going on in your applications, but what if a service can't handle what you throw at it? You learn the answer in the section about the scaling of services. And finally I'm going to unit test the Fire On Wheels solution.
Monitoring Your NServiceBus Services This module is about the applications the Particular Platform offers that support NServiceBus. After watching this module, you are well on your way to using these applications and even write customizations for them. The applications I'm going to talk about are ServiceControl, ServicePulse, and ServiceInsight. Remember the screen you saw when you installed NServiceBus. If you left all the checkmarks, you already have everything installed to get going. If not, please download the setup file from Particular, and run it with all the checks selected. In the next clip, we'll start with the spider in the web called ServiceControl.