Asynchronous messaging is a must for any application, whether monolithic or part of a microservices architecture. Messaging allows applications to offload work so it can be done later while providing the best customer experience for the user. It also allows us to load-level our systems and prevent spikes in traffic from taking down our system. Queues, as well as Topics with a Pub/Sub model, are a staple of any good system and a required skill for any company. In this course, Irina Scurtu will assume zero messaging knowledge, and she will teach you everything you need to know to understand asynchronous messaging in .NET and explain how you can simplify the process of integrating it into your applications by using the very popular library, MassTransit.
Welcome
What will you learn in this course?
Who is the course for and prerequisites
Communication between services
What is the Problem with HTTP APIs?
RPC vs Messaging
Why asynchronous messaging?
Things to consider when using asynchronous messaging
Fallacies of distributed computing
Types of coupling
Elements of a messaging system
Channels
Pipes & Filters
Understanding messages
Types of messages
Events
Commands
Commands vs Events
Producers
Consumers/Receivers
Pull & Push consumption models
Queues
Topics & Subscriptions
Message brokers/Buses
Brokers vs brokerless
Dead-lettering & poison messages
Load leveling
Delivery modes/guarantees
Transports
Event-Driven
Event-sourcing
Section complete
Installing RabbitMQ
RabbitMQ concepts
Exchange types
MassTransit overview
Advantages of using MassTransit
Installing MassTransit templates
Demo: Opening & preparing the solution
Bus configuration
Message contracts
Sending a message
Messages in detail
Consuming a message
Registering & tuning a message consumer
Configuring consumers & handling errors
Endpoints - configuring
Topologies
Changing the Exchange types
The middleware concept
Pipes & filters
Implementing different filter types
Configure retries
Using Exception Filters & Delayed redeliveries
Using CircuitBreakers
Point to point
Fire & Forget
Publish/Subscribe
Request/Reply
Competing consumers
Introduction
Getting familiar with the Outbox project
Implementing the outbox pattern
What is the Saga pattern
What is a State machine
Implementing a state machine
Registering & Running the Saga in memory
Running the Saga and persisting it
Testing in MassTransit
Looking at tests
Course conclusion
Course Info
Irina Scurtu (Dominte) is a software architect, international speaker, Microsoft MVP for developer technologies, and Microsoft certified trainer (MCT) with a wealth of experience. Having taught classes, workshops, and presentations for over 2,000 hours, Irina is passionate about coding and keeping abreast of the latest trends and best practices in software architecture and .NET. Twice a year, for five months each time, Irina teaches .NET and C# to aspiring software developers or people interested in software development or seeking to expand their knowledge. She is an active member of the community and has founded the DotNet Iasi User Group and the dotnetdays.ro conference, where she connects with like-minded developers who are eager to share their expertise and insights. Irina is also a prolific blogger, and her website, https://irina.codes, features a wealth of articles on various coding topics.
More courses by Irina Scurtu© 2023 Dometrain. All rights reserved.