RabbitMQ API & Message Flows

General Principles

  • All messages are JSON-encoded.

  • Messages use persistent delivery mode (2) for durability.

  • Queues are declared as durable.

  • Error handling for failed message processing involves dead-lettering. (Link to a Dead Letter Queue section if you implement it).

  • Active Services (Sender or Requester) define the message schema.

Message Broker Overview

The central message broker is RabbitMQ. Services connect using the RMQ_HOST and RMQ_PORT environment variables.

Flow 1: Ear to Brain

  • Purpose: To send recognized text from an Ear service to a Brain service for processing.

  • Publisher: Any Ear implementation (e.g., AbstractEar ).

  • Consumer: Any Brain implementation (e.g., AbstractBrain ).

  • Exchange: ‘’ (default direct exchange)

  • Queue: TBD

  • Routing Key: TBD

  • Message Format: EarOutputMessage.
    • Example payload:

      TBD

Error Handling (Dead Letter Queues)

TBD