Practical Messaging

Increasingly developers are relying on distributed architectures to solve the problems of scaling their applications and their development teams. But that means they now have to consider the problem of getting the parts of their systems to talk to each other.

  • This course will also be held at NDC Sydney 2022

In this tutorial, we will look at why asynchronous messaging is often the preferred solution to the problems of integrating and distributed solution, and look at the implementation of common messaging patterns.

If you have ever been put off moving from RPC-based solutions to messaging because of the need to learn how to implement messaging based solutions, this workshop will get you started. if you have been using messaging but want to gain a firmer understanding

The session will be a hands-on introduction and take you from simple messaging scenarios like "Hello World" through to more complex ideas like routing, brokers, and publish-subscribe.

Topics covered will include:

Day 1: Messaging Architectures and Simple Patterns

  • Integration Styles
  • Why Prefer Messaging?
  • Decoupled Invocation
  • Work Queues
  • Messaging Systems
  • Pipes and Filters Architectures
  • Channels, Endpoints, Routers
  • Types of Messages
  • Command. Events, & Documents
  • Request-Reply
  • Channels
  • Point-to-Point
  • Publish-Subscribe
  • Data Type Channel
  • Invalid Message Channel
  • Dead Letter Channel
  • Endpoints
  • Polling Consumers
  • Event Driven Consumers
  • Competing Consumers
  • Service Activator

Day 2: Distributed Systems Advanced Patterns

  • Routers
  • Content Based Router
  • Routing Slip
  • Process Manager
  • Management
  • Message Store
  • Control Bus
  • Reliability
  • CAP Theorem
  • Eventual Consistency
  • Guaranteed Delivery
  • At Least Once
  • Exactly Once
  • Durability & Persistence
  • Rabbit MQ Clusters
  • .NET Frameworks
  • Brighter
  • Mass Transit
  • NServiceBus
  • Message Oriented Middleware
  • Rabbit MQ
  • Redis
  • Kafka
  • SQS + SNS
  • Kinesis
  • Azure Service Bus

There will be hands on coding exercises in C#, JavaScript, Python and Go enabling you to implement simple and more complex messaging scenarios.

Computer setup:
We will use Rabbit MQ for examples. You need not have the latter installed on your machine, but you should have Docker installed on your machine, as exercises will use Docker Compose.This is a Bring Your Own Device (BYOD) course. At BYOD courses delegates are required to bring their own laptop with the necessary software installed

Ian Cooper
Coding architect

Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand

    NDC Conferences uses cookies to see how you use our website. We also have embeds from YouTube and Vimeo. How do you feel about that?