Open Source Amazon SQS Alternatives
A curated collection of the 2 best open source alternatives to Amazon SQS.
The best open source alternative to Amazon SQS is Hatchet. If that doesn't suit you, we've compiled a ranked list of other open source Amazon SQS alternatives to help you find a suitable replacement. Other interesting open source alternative to Amazon SQS is Sequin.
Amazon SQS alternatives are mainly Orchestration & Scheduling but may also be Messaging & Event Streaming. Browse these if you want a narrower list of alternatives or looking for a specific functionality of Amazon SQS.
Task orchestration for background jobs, AI agents and durable workflows, built on Postgres for teams that want to self-host.

Hatchet orchestrates background tasks, AI agents and durable workflows at scale. It removes the custom admin tooling teams end up writing around traditional queues, where a task vanishes from the broker once it finishes and leaves nothing to inspect, replay or debug.
Postgres is the durability layer for both the task runtime and the observability system, which is what makes the platform straightforward to self-host. SDKs cover Python, TypeScript, Go and Ruby, and a CLI brings up a local server on macOS, Linux or WSL with Docker installed.
The feature set spans queuing, orchestration and the operations around them.
- Durable tasks: recover from failure mid-run, with pause and resume conditions built from durable sleep and event waits.
- DAGs: express data pipelines and multi-step workflows as directed acyclic graphs.
- Retries and scheduling: cover configurable retry policies with exponential backoff, cron jobs and scheduled runs.
- Fair scheduling: applies concurrency policies, priorities, rate limits and worker slots so one workload cannot starve the rest.
- Task routing: assigns work by worker labels or weighted affinity rules.
- Observability: ships a real-time web UI with alerting and logging, plus OpenTelemetry and Prometheus metrics.
Hatchet is MIT licensed and has been load tested to 10,000 tasks per second, with the maintainers noting that durability costs more resources than a Redis or RabbitMQ queue reaching higher raw throughput. Instances are multi-tenant by default with users and roles, so one deployment can serve several teams.
Change data capture for Postgres, streaming rows into queues, streams, and search indexes from a container beside your database.

Postgres is good at holding data and answering questions about it. Getting changes out of it and into everything else is where teams end up writing something brittle by hand. Sequin reads changes from any Postgres database from version 14 onward and delivers them to sinks, backfilling existing rows and streaming new ones in real time.
It runs as a standalone Docker container next to the database rather than as an extension. You name the schemas and tables to stream, add optional filters and transforms, and point them at a sink; delivery retries with exponential backoff when a sink is unavailable. Configuration happens in a web console, in YAML paired with the CLI, or through a management API, and Terraform templates for AWS live in the repository.
The delivery guarantees are what separate it from a webhook loop written in an afternoon.
- Strict ordering: every change reaches its sink, in order, under a documented consistency model.
- Exactly-once processing: idempotency keys keep a consumer from acting on the same change twice.
- Filters and transforms: payloads are reshaped by functions written in Elixir before they leave.
- Routing: individual messages are directed to specific topics, endpoints, or indexes.
- Backfills: a sink can be refilled from any point, including partial replays of specific rows.
- Metrics: a Prometheus endpoint exposes what the pipeline is doing.
Sinks include Kafka, NATS, RabbitMQ, Redis, SQS, SNS, Kinesis, GCP Pub/Sub, Azure Event Hubs, Elasticsearch, Typesense, Meilisearch, and webhooks. Published benchmarks report sustained throughput above 50,000 operations per second at 55ms average latency.