Skip to content

What Spooler is not

Last updated 

Spooler is a message queue: messages go in, are delivered at least once, and leave. Everything else is a non-goal — not a roadmap gap.

  • A stream processor. No replay, no offsets, no consumer groups: an acked message is gone. If you need to reprocess history or run windowed computations, that's Kafka or Redpanda.
  • A drop-in for an existing broker. Spooler has its own API: AMQP, STOMP, MQTT, and Kafka-protocol clients do not connect, and there is no exchange/binding model to port. If keeping your current client libraries or AMQP routing is the requirement, that's RabbitMQ.
  • A pub/sub bus. No topics, no fan-out, no routing rules: one queue, one consumer pool, each message delivered to one receiver at a time. If every subscriber needs its own copy, that's NATS or SNS.
  • A workflow engine. No webhooks, no user-defined functions, no orchestration: Spooler never calls your code — your code calls Spooler. If you need durable multi-step orchestration, that's Temporal.
  • A scheduler. Send accepts a bounded delay; longer horizons are a scheduler's job — keep the appointment in your database and send when it's due.

These tools compose: put Spooler next to them for the queueing.