Geeks With Blogs

News This is the *old* blog. The new one is at
Elton Stoneman
This is the *old* blog. The new one is at

My latest Pluralsight course has just been released! It's called:

Message Queue Fundamentals in .NET

and it's a comprehensive look at messaging patterns and message queue technologies you can use in .NET: MSMQ, ZeroMQ, Microsoft Azure Service Bus, AWS Simple Queue Service and Simple Notification Service, and IBM WebSphere MQ.

Message queues are nowhere near as commonly used as RPC-style service calls, but they should be. They're easy to use and bring a whole lot of reliability, performance and scale to your solution. And with cloud message queues, you can build interoperable messaging between remote components with very little effort and minimal running costs.

Message queues provide asynchronous communication between components, and making communication asynchronous is the key to building solutions that can scale linearly, and make efficient use of all the compute resources you have.

In the course, I work with a simple demo solution which lets users unsubscribe from a mailing list. At the start of the course, the functionality is done with a synchronous call to an ASP.NET MVC controller - so the user has to wait for all parts of the process to complete before they see a response.

By the end of the course, the controller receives the original request but then offloads all the processing to other components, which all communicate by sending and receiving messages from queues. The final version of the solution implements the three key messaging patterns: fire-and-forget, request-response and publish-subscribe, and can run different parts of the unsubscribe workflow across different message queue technologies.

Here's how the course breaks down:

Introducing Message Queues

  • Covering the key messaging patterns, how they fit into a wider architecture, and how you deal with failures

Message Queue Proof-of-Concept

  • Takes an existing app using synchronous communication, replaces it with messaging, and looks at the benefits messaging gives you in performance, scalability and reliability

Introducing MSMQ

  • Introduces MSMQ, the message queue technology built into Windows. Looks at the architecture and features, and covers installing and administering MSMQ, and using MSMQ with .NET

Practical MSMQ

  • Builds out the demo solution to use fire-and-forget, request-response and publish-subscribe messaging over MSMQ

Introducing ZeroMQ

  • Introduces ZeroMQ, cross-platform open-source messaging using in-memory queues for ultra high speed. Looks at the structure of ZeroMQ and covers using ZeroMQ sockets with .NET.

Practical ZeroMQ

  • Abstracts the messaging layer in the demo solution to remove the dependency on MSMQ and implements the same workflows using ZeroMQ as the transport. Also covers end-to-end testing of messaging solutions using SpecFlow.

Introducing Cloud Message Queues

  • Introduces messaging across the cloud with Azure Service Bus Queues and Amazon Web Services Simple Queue Service. Looks at administering queues with the Web consoles, and sending and receiving messages with the .NET clients.

Practical Cloud Messaging

  • Builds out the demo solution with support for Azure and AWS messaging, allowing the whole solution to run over cloud message queues - Azure Service Bus Queues and Topics, and Amazon SQS and SNS (Simple Notification Service). Also looks at multi-threaded message handlers, and the ability to pause and resume receivers.

Introducing WebSphere MQ

  • Introduces IBM WebSphere MQ, the enterprise-grade, on-premise, cross-platform message queue. Covers the flexibility of WebSphere MQ, installing and administering the MQ Server on Windows, and sending and receiving messages with .NET

Practical WebSphere MQ

  • Builds a configuration model into the demo solution which allows different parts of the workflow to run over different queue implementations, and builds WebSphere MQ as the final transport option. Also covers wrapping message handler console apps as Windows Services.


  • Recaps what we've learned about messaging and compares the queue technologies on performance, recoverability, scalability and management.


It's a pretty substantial course that starts from the ground up, and aims by the end to have you confident about designing messaging into your solutions, using message queues with their .NET clients, and choosing the best fit from the available message queue technologies.

Hope you enjoy.

Posted on Tuesday, April 29, 2014 6:10 AM AWS , Azure , Pluralsight | Back to top

Comments on this post: Message Queue Fundamentals in .NET

# re: Message Queue Fundamentals in .NET
Requesting Gravatar...

where can i get the demo code which was used for plural sight course
Left by lawrence on Mar 21, 2016 6:34 AM

# re: Message Queue Fundamentals in .NET
Requesting Gravatar...
I was wondering if there is demo code available for this course as well.
Left by Tim Brooks on Apr 15, 2016 5:09 PM

# re: Message Queue Fundamentals in .NET
Requesting Gravatar...

I was wondering if there is demo code available for this course as well.
Left by bloem on Apr 18, 2016 9:05 AM

Your comment:
 (will show your gravatar)

Copyright © Elton Stoneman | Powered by: