Skip to content

SYSTEM Cited by 1 source

RabbitMQ

RabbitMQ is an open-source message broker implementing AMQP 0-9-1 (and native extensions for MQTT / STOMP / Streams), originally from Rabbit Technologies (now VMware). Widely deployed as a general-purpose durable work-queue / pub-sub fabric with rich exchange-and-binding routing, per-consumer acknowledgement, dead-letter queues, and native clustering.

Properties relevant to system design

  • Exchange + binding routing — direct / topic / fanout / headers exchange types; flexible many-to-many producer-consumer wiring.
  • Push-based delivery — the broker pushes messages to consumers holding unfilled prefetch windows; consumers don't peek, they receive.
  • Prefetch = request-count window — a consumer's prefetch_count (or prefetch_size in bytes) is the classic knob for how many messages may be in-flight un-acked. Not a token-count or payload-attribute budget.
  • Per-message ack / nack with redelivery — at-least-once delivery; redelivery on nack or consumer disconnect.
  • Quorum queues / mirrored queues / Streams — durability and high-availability modes.

Role on the wiki

RabbitMQ is a canonical example of a message broker whose native batching knobs are not sufficient for application-specific compute-batching disciplines such as token-count batching for GPU inference. Three specific gaps named in the 2025-12-18 Voyage AI post:

  1. Request-count prefetch — doesn't compose with a per-payload token count.
  2. Push delivery — consumers can't peek and selectively claim by a caller-computed budget.
  3. No atomic peek + conditional claim primitive — the token-count-batching scheduler's required single-step operation doesn't exist.

Both practical workarounds are on the wiki as separate patterns:

Seen in

Stub — no deeper RabbitMQ-internals source yet ingested.

Last updated · 200 distilled / 1,178 read