Skip to main content

Messages

1. Concept Overview

A message is the unit of data that flows through RelayX.

Messages are what producers send and what subscribers receive. Everything else in RelayX exists to move, deliver, or store messages.

RelayX messages are intentionally simple. They are not jobs, not commands, and not workflows. They are just data.

Messages exist to solve one problem: getting information from one part of a system to another, reliably and predictably.


2. How to Think About It

Think of a message as:

  • A payload of data
  • Sent by a producer
  • Delivered to one or more subscribers
  • In a defined order
  • With clear rules about retries and duplication

Important mental model points:

  • Messages are immutable once accepted by the backend
  • Messages are delivered in order per topic
  • Messages may be handled more than once if a subscriber crashes
  • Messages are deduplicated by the backend, not by client code
  • Message handling is considered “done” only when subscriber code completes successfully

A message does not represent success, failure, or completion by itself. Those concepts live in subscriber logic.


3. Message Data Types

RelayX messages support simple, common data types.

A message payload can be:

  • JSON
  • String
  • Number

RelayX does not enforce a schema. It treats the payload as opaque data.

It is the responsibility of the producer and subscriber to agree on:

  • Structure
  • Meaning
  • Validation

RelayX does not inspect or modify message content.




Need Help?

Join our Discord server, post your concern & someone from our team will help you out ✌️