← all SaaS
Self-host Amazon SQS
Message queue / async messaging ·
Category: storage, queues & search
Amazon SQS is AWS's hosted message queue — durable FIFO or standard queues, dead-letter handling, visibility timeouts, billed per million requests. The self-hostable replacements all do durable messaging + at-least-once delivery + DLQ; the operational story (no servers to manage) is the trade you give up.
Amazon SQS pricing anchor: $0.40 per 1M requests (Standard); $0.50 per 1M (FIFO); free 1M requests/mo.
- GitHub
- ★ 13.6k · last commit 1d ago · 247 open issues
- License
-
MPL-2.0 - Setup time
- 10min docker run + management UI
- Monthly cost
- $5-15/mo VPS for a single broker; clustered for HA adds nodes.
Migration sketch. Run `docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3-management`. Client migration: replace SQS SDK calls (`SendMessage`, `ReceiveMessage`) with AMQP library calls (Pika in Python, amqplib in Node). FIFO semantics map to RabbitMQ single-active-consumer queues; DLQ via the dead-letter-exchange feature. Visibility-timeout maps to RabbitMQ ack semantics + per-message TTL.
Good fit forTeams who want a battle-tested AMQP broker with rich routing (topic/fanout/headers exchanges) beyond what SQS offers.
Weak atOperating clustered HA RabbitMQ is non-trivial; budget time for partition/quorum-queue learning.
- GitHub
- ★ 19.8k · last commit 1d ago · 494 open issues
- License
-
Apache-2.0 - Setup time
- 5min single-binary or docker run
- Monthly cost
- $5-10/mo VPS — Go binary is light; clustering is straightforward.
Migration sketch. `docker run -p 4222:4222 -p 8222:8222 nats:latest -js -m 8222`. Client migration: NATS clients exist for 40+ languages; the JetStream API gives you durable streams + consumers (the SQS-equivalent). Map an SQS queue to a JetStream stream with a single durable consumer. DLQ via `MaxDeliver` + `republish` to a separate stream.
Good fit forMicroservice meshes that want pub/sub + queue + key-value + object store from one binary, with sub-millisecond latency.
Weak atLess mature observability ecosystem than RabbitMQ; some advanced patterns require deeper NATS-specific knowledge.
- GitHub
- ★ 12.1k · last commit 1d ago · 685 open issues
- License
-
BSL-1.1 BSL converts to Apache-2.0 after 4 years; commercial license restricts offering as a managed service.
- Setup time
- 20min docker-compose (Redpanda + Console UI)
- Monthly cost
- $15-40/mo VPS — single-binary Kafka-compatible broker, no JVM.
Migration sketch. Pull `redpandadata/redpanda:latest`. Wire-compatible with Kafka, so any Kafka client (kafka-python, librdkafka, kafkajs) works. SQS migration: rewrite producers/consumers to Kafka idioms (topic per queue, consumer group per worker pool). DLQ via a dedicated topic.
Good fit forStreaming-shaped workloads where you want Kafka semantics (replay, retention) without operating ZooKeeper or a JVM cluster.
Weak atBSL license restricts commercial managed-service redistribution; cluster ops still needs Kafka mental model.
In a terminal? npx os-alt amazon-sqs prints this table —
how the CLI works →