Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/poundifdef/smoothmq
An improved drop-in replacement for SQS
https://github.com/poundifdef/smoothmq
message-queue messaging queue sqs
Last synced: 3 days ago
JSON representation
An improved drop-in replacement for SQS
- Host: GitHub
- URL: https://github.com/poundifdef/smoothmq
- Owner: poundifdef
- License: agpl-3.0
- Created: 2024-05-30T13:48:48.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-01-06T01:35:24.000Z (13 days ago)
- Last Synced: 2025-01-09T07:04:24.129Z (10 days ago)
- Topics: message-queue, messaging, queue, sqs
- Language: Go
- Homepage:
- Size: 4.96 MB
- Stars: 2,156
- Watchers: 9
- Forks: 40
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - poundifdef/smoothmq - An improved drop-in replacement for SQS (Go)
README
# SmoothMQ
SmoothMQ is a drop-in replacement for SQS with a much smoother developer experience.
It has a functional UI, observability, tracing, message scheduling, and rate-limiting.
SmoothMQ lets you run a private SQS instance on any cloud.## Survey!
I'd love your feedback on the direction of this project! https://forms.gle/m5iMjcA5Xvp685Yw8## Getting Started
SmoothMQ deploys as a single go binary and can be used by any existing SQS client.
## Running
This will run a UI on `:3000` and an SQS-compatible server on `:3001`.
```
$ go run . server
```## Connecting
This works with any SQS client in any language.
### Python
``` py
import boto3# Simply change the endpoint_url
sqs = boto3.client("sqs", ..., endpoint_url="http://localhost:3001")
sqs.send_message(QueueUrl="...", MessageBody="hello world")
```Celery works seamlessly:
``` py
app = Celery("tasks", broker_url="sqs://...@localhost:3001")
```## UI
The UI lets you manage queues and search individual messages.
![Dashboard UI](docs/queue.gif)