Scaling Applications with Microservices, MassTransit, and RabbitMQ

Want to implement message-based architectures, such as microservices, using open source products? With a 2-hour investment, you'll be ready to build your own message-oriented distributed system!
Course info
Rating
(134)
Level
Intermediate
Updated
Mar 21, 2016
Duration
1h 53m
Table of contents
Description
Course info
Rating
(134)
Level
Intermediate
Updated
Mar 21, 2016
Duration
1h 53m
Description

Implementing message-based architectures is easier (and less costly) than ever before in Scaling Applications with Microservices, MassTransit, and RabbitMQ. You'll learn about many kinds of supported transports, with a focus on RabbitMQ. Next, you'll learn about the way RabbitMQ processes messages. Then, you'll be shown the basic MassTransit features as well as more advanced features, such as sagas. You'll also be engaged with messaging systems by watching a software-writing demo made for a virtual company. After watching this course, you will be able to implement a messaging architecture with MassTransit and RabbitMQ, completely for free.

About the author
About the author

Roland is a Microsoft MVP enjoying a constant curiosity around new techniques in software development. His focus is on all things .Net and browser technologies.

More from the author
A Practical Start with React
Beginner
1h 28m
21 Apr 2018
Understanding ASP.NET Core 2.x
Beginner
2h 48m
20 Oct 2017
More courses by Roland Guijt
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
Hello, everyone. My name is Roland Guijt, and welcome to my course, Scaling Applications with Microservices, MassTransit, and RabbitMQ. I'm an independent software developer and trainer based in the Netherlands. Using messaging in your distributed system architecture will give you many advantages and will let you do microservices in a reliable way. And using the open source service bus MassTransit with RabbitQ as the underlying message broker will get you up and running in no time. Some of the major topics that we will cover include getting started with microservices and messaging architecture, the ins and outs of using RabbitMQ as a message broker, using the free MassTransit service bus framework on top of RabbitMQ to send and receive messages and modeling complex message workflows by using MassTransit sagas. By the end of this course, you'll be ready to design and implement microservice architecture. Before beginning the course, you should have a good knowledge of the C# programming language. I hope you join me on this journey to learn how to create message based distributed systems with the course, Scaling Applications with Microservices, MassTransit, and RabbitMQ at Pluralsight.

Understanding Messaging Architecture
Welcome to the course. In this first module, I provide you with a context for the rest of the course by talking about messaging architecture, but first, some information about the course. In five modules, you'll learn how to build a distributed system that uses messaging using the open source project, RabbitMQ, and MassTransit. RabbitMQ is a message broker, and MassTransit is a service bus implementation for. NET. I'm assuming that you have experience with. NET and C# in Visual Studio, and throughout the course, I'm building a distributed system for Fire On Wheels, a virtual company that's into the parcel delivery business. Now to this module. This course is about building Distributed Systems. To make sure we have the same idea around a distributed system, I briefly explain the basics. Next, you'll learn that the Microservices system is just a different, newer kind of distributed system. In Message Fundamentals, I'll zoom into the communication between the services, and finally, you'll see worst scenarios you should consider using a distributed system using messaging architecture.

Sending and Receiving Messages with RabbitMQ
The message broker discussed in this course is RabbitMQ. In this module, you'll learn how RabbitMQ operates and how to create services that send messages to each other using RabbitMQ. First, I'll talk about what RabbitMQ is and how to install it. To make sure we're on the same page regarding terms, I'll then explain the terminology around messaging systems. Then, I'll show the available exchange types which enable the different messaging patterns we discussed in module one. I'm also going to use a. NET client API to send messages and to receive messages. And you'll see the demo I left unfinished in the last module running with RabbitMQ. We're also going to look at the management plugin that provides a dashboard to see what's going on in RabbitMQ. Next, we look at the options you have regarding reliability. And finally virtual hosts and security.

Implementing a Service Bus with MassTransit
In this module I'm going to talk about MassTransit. I immediately dive into the code by showing the MassTransit implementation of the demo project. Then I'll show you the service bus concepts and how MassTransit supports. NET types. You'll see how to schedule and monitor messages and how dependency injection comes into play. And responding to failure is a very important topic. Request/Response is also supported by MassTransit and I'll show you how.

Extending the Message Pipeline with MassTransit Middleware
Welcome to the module about MassTransit Middleware. You will learn what pipelines and middleware are first. Then we'll look at how middleware is constructed and then you'll see three examples of pluggable middleware that are shaped with a MassTransit product: the circuit breaker, the rate limiter, and the latest filter.

Modeling Workflows with Sagas
Welcome to the module, Modeling Workflows with Sagas. In this module, you're going to see what a use case for sagas is, and how a saga works. You'll learn how a saga fits into the MassTransit framework, and we're going to refactor the distributed system we made in the MassTransit module to a solution that works with the saga.