...

/

Fundamentals of a Messaging System

Fundamentals of a Messaging System

Get familiar with the basics and functionality of messaging systems in Node.js applications.

When talking about messages and messaging systems, there are four fundamental elements to take into consideration:

  • The direction of the communication, which can be one-way only or a request/reply exchange

  • The purpose of the message, which also determines its content

  • The timing of the message, which can be sent and received in-context (synchronously) or out-of-context (asynchronously)

  • The delivery of the message, which can happen directly or via a broker

One-way vs. request/reply patterns

The most fundamental aspect of a messaging system is the direction of the communication, which often also determines its semantics.

The simplest communication pattern is when the message is pushed one way from a source to a destination; this is a trivial situation, and it doesn’t need much explanation:

Press + to interact
One-way communication
One-way communication

A typical example of one-way communication is an email or a web server that sends a message to a connected browser using WebSockets, or a system that distributes tasks to a set of workers.

On the other side, we have the Request/Reply exchange pattern, where the message in one direction is always matched (excluding error conditions) by a message in the opposite ...