Messaging Pattern

A messaging pattern defines how messages are exchanged between different systems, applications, or components within a distributed system.

Not sure if this is the best term for it. But these are some super important ideas at NVIDIA, as I compare ROS with other internal tools.

Resources

Message Exchange Architectures (from Redhat site)

Others architectures

Also see Routing.

I think I should read up on this page, even though the font is kinda wack

From ChatGPT:

    1. Request-Reply: A synchronous interaction where a requestor sends a message and waits for a reply.
  1. Publish-Subscribe: An asynchronous pattern where messages are published to topics, and multiple subscribers can consume them.
  2. Fire-and-Forget: A one-way message sending without expecting a response.
  3. Event Sourcing: Capturing all changes to an application state as a sequence of events.
  4. Work Queues (Task Queues): Distributing tasks among multiple workers.

Tools