miniqueue
goqite
miniqueue | goqite | |
---|---|---|
5 | 2 | |
195 | 293 | |
- | 4.8% | |
0.0 | 7.9 | |
about 1 year ago | 6 days ago | |
Go | Go | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
miniqueue
-
Show HN: Goqite, a persistent message queue Go library built on SQLite
Also did something very similar, but swapped out the storage layer with an embed of leveldb.
Also supports both an HTTP and Redis API.
https://github.com/tomarrell/miniqueue
-
Write Your Own Task Queue
Interesting, I took this to heart a couple of years ago and came up with something with a serious focus on simplicity within a niche.
https://github.com/tomarrell/miniqueue
-
For those running Go in production at scale, what do you use for distributed task queues?
Have been working on https://github.com/tomarrell/miniqueue, intentionally non distributed though for simplicity
- Show HN: Dead-Simple Message Queue
- Show HN: Miniqueue – Simple, single-binary message queue
goqite
-
Show HN: Goqite, a persistent message queue Go library built on SQLite
The performance of https://github.com/klev-dev/klevdb is 10x https://github.com/maragudk/goqite so it makes me assume the durability is somewhat lacking. Can you speak to the tradeoffs here around message loss?
I would think that having a small chance of message loss due to writing to an append only log in batches might be a reasonable trade off for many things (if that is how it works).
What are some alternatives?
machinery - Machinery is an asynchronous task queue/job queue based on distributed message passing.
klevdb - Fast message store, written in Go
gocelery - Celery Distributed Task Queue in Go
goalpost - A durable, embeddable, worker queue for golang
cadence - Cadence is a distributed, scalable, durable, and highly available orchestration engine to execute asynchronous long-running business logic in a scalable and resilient way.
nsq - A realtime distributed messaging platform
Asynq - Simple, reliable, and efficient distributed task queue in Go
docker-compose - Temporal docker-compose files
hermes - Tiny MQTT broker written in Go
rabbit-hole - RabbitMQ HTTP API client in Go
workerpool-go - auto-scaling worker pool (work queue) in Go, using generics
bb-remote-execution - Tools for Buildbarn to allow remote execution of build actions