103 Repositories
Go queue Libraries
🐁 happy little queue
happy little queue 97% covered, 90LOC, 80_000RPS, integration test, auto-cleaning, lightweight When your Go code does not panic When your infra does n
Worker pool library with auto-scaling, backpressure, and easy composability of pools into pipelines
workerpool Worker pool library with auto-scaling, backpressure, and easy composability of pools into pipelines. Uses Go 1.18 generics. Notable differe
CLI tool for generating random messages with rules & publishing to the cloud services (SQS,SNS,PUB/SUB and etc.)
Randomsg A CLI tool to generate random messages and publish to cloud services like (SQS,SNS,PUB/SUB and etc.). TODO Generation of nested objects is no
Priority queue with message-group based partitioning and equal attention guarantee for each message group based on Redis
redis-ordered-queue-go Priority queue with message-group based partitioning and equal attention guarantee for each message group based on Redis What i
ZenQ - A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer
ZenQ A low-latency thread-safe queue in golang implemented using a lock-free ringbuffer Features Much faster than native channels in both SPSC (single
Job queuing service and async task runner.
Valet Stateless Go server responsible for running tasks asynchronously and concurrently. Overview Job Pipeline Architecture Installation Configuration
azqlite is a lightweight wrapper around Azure's SDK to interact with the Azure Storage Queue service in a simpler and more idiomatic way.
azqlite azqlite is a lightweight wrapper around github.com/Azure/azure-storage-queue-go to interact with the Azure Storage Queue service in a simpler
Kafka, Beanstalkd, Pulsar Pub/Sub framework
go-queue Kafka, Beanstalkd, Pulsar Pub/Sub framework.
Gotask - A simple task queue is stripped when the program is written to achieve the task delivery function
gotask The simple task queue is stripped when the program is written to achieve
Redisq is a queue-over-redis that provides simple way to works with queues stored in Redis.
Redisq is a queue-over-redis that provides simple way to works with queues stored in Redis.
A Multi Consumer per Message Queue with persistence and Queue Stages.
CrimsonQ A Multi Consumer per Message Queue with persistence and Queue Stages. Under Active Development Crimson Queue allows you to have multiple cons
This service consumes events about new posts in go blog (go.dev)
This service consumes events about new posts in go blog (go.dev) from message broker (rabbitmq) (gbu-scanner service publishes these events) and sends notifications to websocket and grpc streams consumers.
Go-jdeque - Chunk based deque for Go
go-jqueue This queue is implemented with a linked list of chunks. It is a deque
tasq is a simple HTTP-based task queue. Each task is represented as a string
tasq tasq is a simple HTTP-based task queue. Each task is represented as a string (it could be anything). Tasks are pushed to the queue via an HTTP en
Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format
mq2prom Read metrics from a Message Queue in Json format and expose them in a Prometheus compatible format. Currently only works for MQTT compatible M
A simple queueing system for long-running commands
qme (queue me) A simple queueing system for long-running commands. It allows you to queue up shell commands from anywhere, and run them in order. This
Package queue gives you a queue group accessibility
package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more.
Stq - Simple Task Queue with REST API
stq Simple Tasks Queue with HTTP API Environments list: Variable Value BACKEND m
Toolkit - Collection of useful patterns
toolkit Introduction These patterns can you use to solve common problems when designing an application or system. Requirements golang =1.11.x - The G
Dynamically resizable pools of goroutines which can queue an infinite number of jobs.
go-do-work gdw makes use of eapache's delightfully clever channels package in order to provide dynamically resizable pools of goroutines which can que
This is an concurrent-queue and concurrent-stack lib for the go.
This is an concurrent-queue and concurrent-stack lib for the go. Getting Started Pull in the dependency go get github.com/boobusy/vector Add the impor
implentacion queue in kafka, rabbit and sqs
Big Queue on Go This is a simple big queue and implementation in kafka, rabbit and aws sqs. Publish in a topic in kafka: Use NewPublisher method to cr
Golang query-able job queue
ᛉ Bifröst - a queryable in-process worker queue Package bifrost contains functionality to create an in-process job queue with a configurable number of
Simple push notification system (android/fcm, apns/slideshow) written by Golang
Golang Push Notification Simple system push notification for android/fcm and apn
Simple in-memory job queue for Golang using worker-based dispatching
artifex Simple in-memory job queue for Golang using worker-based dispatching Documentation here: https://godoc.org/github.com/mborders/artifex Cron jo
Simple docker container to publish a fixed message to a specified queue. Created to be used with k8s CRON scheduling.
RabbitMQ Publish CRON Simple docker container to publish a fixed message to a specified rabbitmq exchange. Created to be used as part of a Kubernetes
A swiss army knife CLI tool for interacting with Kafka, RabbitMQ and other messaging systems.
plumber is a CLI devtool for inspecting, piping, massaging and redirecting data in message systems like Kafka, RabbitMQ , GCP PubSub and many more. [1
A basic event queue (and publisher/subscriber) in go
queue A basic event queue (and publisher/subscriber) in go. Installation go get github.com/jimjibone/queue Queue Usage Queue is a channel-based FIFO q
A lightweight, thread-safe FIFO queue with fixed capacity.
FIFO Queue Thread-safe, lightweight, tested FIFO queue with fixed size, which is built upon list for performance ;-) This implement is inspired by htt
Golang Delay Queue
[gdq] Golang Delay Queue GDQ is a library that leverage db or cache to be setup as a delay queue. For current version, Only redis can adapt to this li
KubeMQ is a Kubernetes native message queue broker
KubeMQ Community is the open-source version of KubeMQ, the Kubernetes native message broker. More about KubeMQ
A lightweight, distributed and reliable message queue based on Redis
nmq A lightweight, distributed and reliable message queue based on Redis Get Started Download go get github.com/inuggets/nmq Usage import "github.com
Persistent queue in Go based on BBolt
Persistent queue Persistent queue based on bbolt DB. Supposed to be used as embeddable persistent queue to any Go application. Features: messages are
a self terminating concurrent job queue for indeterminate workloads in golang
jobtracker - a self terminating concurrent job queue for indeterminate workloads in golang This library is primarily useful for technically-recursive
Handle any SQS use case, monitor any queue. Reusable for any project! Invoke in a goroutine to process SQS messages.
GOSQS This package is intended to be a Go SQS listener that can be imported and invoked as a goroutine handled by the life cycle of your service. It's
A simple persistent directory-backed FIFO queue.
pqueue pqueue is a simple persistent directory-backed FIFO queue. It provides the typical queue interface Enqueue and Dequeue and may store any byte s
Fulfills a GitHub workflow_job webhooks into a Pub/Sub queue.
GitHub Workflow Job to Pub/Sub The GitHub Workflow Job to Pub/Sub is a small service that fulfills a GitHub workflow_job webhook. When a job is queued
Chanman helps you to create queue channels and manage them gracefully.
chanman Channels are widely used as queues. chanman (Channel Manager) helps you to easily create queue with channel and manage the data in the queue.
Kudruk helps you to create queue channels and manage them gracefully.
kudruk Channels are widely used as queues. kudruk (means queue in Turkish) helps you to easily create queue with channel and manage the data in the qu
Go implementation of the van Emde Boas tree data structure: Priority queue for positive whole numbers in O(log log u) time.
vEB Go implementation of the van Emde Boas tree data structure: Priority queue for positive whole numbers in O(log log u) time. Supports the following
A netcat/kafkacat like utility for AWS SQS.
sqscat sqscat is "netcat for SQS". You can use sqscat to receive from and send messages to SQS queue. sqscat uses newline as the delimiter between mes
Redis as backend for Queue Package
redis Redis as backend for Queue package Setup start the redis server redis-server start the redis cluster, see the config # server 01 mkdir server01
painless task queue manager for shell commands with an intuitive cli interface (execute shell commands in distributed cloud-native queue manager).
EXEQ DOCS STILL IN PROGRESS. Execute shell commands in queues via cli or http interface. Features Simple intuitive tiny cli app. Modular queue backend
A Golang and Python solution for Queue-it's Proof-of-Work challenge.
Queue-it Proof-of-Work A Golang and Python solution for Queue-it's Proof-of-Work challenge (https://queue-it.com/blog/proof-of-work-block-bad-bots/).
A pizza store design using NATS pub sub queue.
A pizza store design using NATS pub sub queue.
Queue is a Golang library for spawning and managing a Goroutine pool
Queue is a Golang library for spawning and managing a Goroutine pool, Alloowing you to create multiple worker according to limit CPU number of machine.
A fast durable queue for Go
pqueue - a fast durable queue for Go pqueue is thread-safety, serves environments where more durability is required (e.g., outages last longer than me
Queue with NATS Jetstream to remove all the erlangs from cloud
Saf in Persian means Queue. One of the problems, that we face on projects with queues is deploying RabbitMQ on the cloud which brings us many challenges for CPU load, etc. I want to see how NATS with Jetstream can work as the queue to replace RabbitMQ.
Queue is a Golang library for spawning and managing a Goroutine pool
Queue is a Golang library for spawning and managing a Goroutine pool, Alloowing you to create multiple worker according to limit CPU number of machine.
YTask is an asynchronous task queue for handling distributed jobs in golang
YTask is an asynchronous task queue for handling distributed jobs in golang
Sandglass is a distributed, horizontally scalable, persistent, time sorted message queue.
Sandglass is a distributed, horizontally scalable, persistent, time ordered message queue. It was developed to support asynchronous tasks and message
A realtime distributed messaging platform
Source: https://github.com/nsqio/nsq Issues: https://github.com/nsqio/nsq/issues Mailing List: [email protected] IRC: #nsq on freenode Docs:
Kafka implemented in Golang with built-in coordination (No ZK dep, single binary install, Cloud Native)
Jocko Kafka/distributed commit log service in Go. Goals of this project: Implement Kafka in Go Protocol compatible with Kafka so Kafka clients and ser
Simple, efficient background processing for Golang backed by RabbitMQ and Redis
Table of Contents How to Use Motivation Requirements Features Examples Setup Config Client/Server Task Worker/Task Hander Register The Handlers Send t
Gue is Golang queue on top of PostgreSQL that uses transaction-level locks.
Gue is Golang queue on top of PostgreSQL that uses transaction-level locks.
Basic Implementation of Data-structures in Go
Data structures in Go v1.15.6 This repo consists the implementation of the following: Stacks Queues Linked Lists (Singly) Binary Search Trees Heaps (M
Fast golang queue using ring-buffer
Queue A fast Golang queue using a ring-buffer, based on the version suggested by Dariusz Górecki. Using this instead of other, simpler, queue implemen
A lightweight job scheduler based on priority queue with timeout, retry, replica, context cancellation and easy semantics for job chaining. Build for golang web apps.
Table of Contents Introduction What is RIO? Concern An asynchronous job processor Easy management of these goroutines and chaining them Introduction W
Asynq: simple, reliable, and efficient distributed task queue in Go
Asynq: simple, reliable, and efficient distributed task queue in Go
dque is a fast, embedded, durable queue for Go
dque - a fast embedded durable queue for Go dque is: persistent -- survives program restarts scalable -- not limited by your RAM, but by your disk spa
Machinery is an asynchronous task queue/job queue based on distributed message passing.
Machinery Machinery is an asynchronous task queue/job queue based on distributed message passing. V2 Experiment First Steps Configuration Lock Broker
Celery Distributed Task Queue in Go
gocelery Go Client/Server for Celery Distributed Task Queue Why? Having been involved in several projects migrating servers from Python to Go, I have
High-Performance server for NATS, the cloud native messaging system.
NATS is a simple, secure and performant communications system for digital systems, services and devices. NATS is part of the Cloud Native Computing Fo
A realtime distributed messaging platform
Source: https://github.com/nsqio/nsq Issues: https://github.com/nsqio/nsq/issues Mailing List: [email protected] IRC: #nsq on freenode Docs:
cTRL is a server for remote execution of pending tasks and commands in real time, supporting a queue with continuous thread limiting and throttling.
Документация на русском: https://github.com/eltaline/ctrl/blob/master/README-RUS.md cTRL is a server written in Go language that uses a modified versi
💨A well crafted go packages that help you build robust, reliable, maintainable microservices.
Hippo A Microservices Toolkit. Hippo is a collection of well crafted go packages that help you build robust, reliable, maintainable microservices. It
Embedded, Fast and Persistent bigqueue implementation
bigqueue bigqueue provides embedded, fast and persistent queue written in pure Go using memory mapped (mmap) files. bigqueue is now thread safe as wel
A pluggable backend API that enforces the Event Sourcing Pattern for persisting & broadcasting application state changes
A pluggable "Application State Gateway" that enforces the Event Sourcing Pattern for securely persisting & broadcasting application state changes
HARAQA - High Availability Routing And Queueing Application
haraqa is designed to be a developer friendly, scalable message queue for data persistence and real-time data streaming between microservices. Haraqa provides high-throughput, low-latency, fault-tolerant pipelines for architectures of any size.
A pluggable backend API that enforces the Event Sourcing Pattern for persisting & broadcasting application state changes
A pluggable "Application State Gateway" that enforces the Event Sourcing Pattern for securely persisting & broadcasting application state ch
Declarative streaming ETL for mundane tasks, written in Go
Benthos is a high performance and resilient stream processor, able to connect various sources and sinks in a range of brokering patterns and perform hydration, enrichments, transformations and filters on payloads.
A single binary, simple, message queue.
MiniQueue A stupid simple, single binary message queue using HTTP/2. Most messaging workloads don't require enormous amounts of data, endless features
A job queue and scheduler written in Go, backed by Postgres, and available over HTTP
Rickover This holds the code for a scheduler and a job queue written in Go and backed by Postgres. The goals/features of this project are: Visibility
A minimalistic message queue server, in Go
lineup, a tiny queue server lineup is a very simple queue server. all it does is serve a binary-safe priority queue with a simple protocol insp
Some helper types for go1: priority queue, slice wrapper.
go-villa Package villa contains some helper types for Go: priority queue, slice wrapper, binary-search, merge-sort. GoDoc Link: http://godoc.org/githu
Cross-platform beanstalkd queue server admin console.
Overview aurora is a web-based Beanstalkd queue server console written in Go and works on macOS, Linux, and Windows machines. The main idea behind usi
redisqueue provides a producer and consumer of a queue that uses Redis streams
redisqueue redisqueue provides a producer and consumer of a queue that uses Redis streams. Features A Producer struct to make enqueuing messages easy.
RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue
RapidMQ RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue in the Go programming langu
Go simple async message bus
🚌 message-bus Go simple async message bus. 📖 ABOUT Contributors: Rafał Lorenz Want to contribute ? Feel free to send pull requests! Have problems, b
mangos is a pure Golang implementation of nanomsg's "Scalablilty Protocols"
mangos Mangos™ is an implementation in pure Go of the SP (“Scalability Protocols”) messaging system. These are colloquially known as a “nanomsg”. ❗ Th
Machinery is an asynchronous task queue/job queue based on distributed message passing.
Machinery Machinery is an asynchronous task queue/job queue based on distributed message passing. V2 Experiment First Steps Configuration Lock Broker
Abstraction layer for simple rabbitMQ connection, messaging and administration
Jazz Abstraction layer for quick and simple rabbitMQ connection, messaging and administration. Inspired by Jazz Jackrabbit and his eternal hatred towa
Declarative streaming ETL for mundane tasks, written in Go
Benthos is a high performance and resilient stream processor, able to connect various sources and sinks in a range of brokering patterns and perform h
Asynq: simple, reliable, and efficient distributed task queue in Go
Asynq Overview Asynq is a Go library for queueing tasks and processing them asynchronously with workers. It's backed by Redis and is designed to be sc
A persistent queue implemented in Go.
goq goq is a persistent queue implemented in Go. Features Communication over HTTP RESTful with JSON responses (trivial to write client libraries) Mini
Go language interface to the Libcircle distributed-queue API
Circle Description The Circle package provides a Go interface to the Libcircle distributed-queue API. Despite the name, Circle has nothing to do with
Simple, zero-dependency scheduling library for Go
go-quartz Simple, zero-dependency scheduling library for Go. About Inspired by the Quartz Java scheduler. Library building blocks Job interface. Any t
Unlimited job queue for go, using a pool of concurrent workers processing the job queue entries
kyoo: A Go library providing an unlimited job queue and concurrent worker pools About kyoo is the phonetic transcription of the word queue. It provide
🐝 A Highly Performant and easy to use goroutine pool for Go
gohive Package gohive implements a simple and easy to use goroutine pool for Go Features Pool can be created with a specific size as per the requireme
Simple in-memory job queue for Golang using worker-based dispatching
artifex Simple in-memory job queue for Golang using worker-based dispatching Documentation here: https://godoc.org/github.com/mborders/artifex Cron jo
High-Performance server for NATS, the cloud native messaging system.
NATS is a simple, secure and performant communications system for digital systems, services and devices. NATS is part of the Cloud Native Computing Fo
Lightweight, fault-tolerant message streams.
Liftbridge provides lightweight, fault-tolerant message streams by implementing a durable stream augmentation for the NATS messaging system. It extend
Cross-platform beanstalkd queue server admin console.
Overview aurora is a web-based Beanstalkd queue server console written in Go and works on macOS, Linux, and Windows machines. The main idea behind usi
A Go queue manager on top of Redis
Queue A Go library for managing queues on top of Redis. It is based on a hiring exercise but later I found it useful for myself in a custom task proce
High-performance minimalist queue implemented using a stripped-down lock-free ringbuffer, written in Go (golang.org)
This project is no longer maintained - feel free to fork the project! gringo A high-performance minimalist queue implemented using a stripped-down loc
Simple priority queue in Go
Priority Queue in Go ==================== This package provides a priority queue implementation and scaffold interfaces. Installation ------------ U
go.fifo provides a simple fifo thread-safe queue for the Go programming language
go.fifo Description go.fifo provides a simple FIFO thread-safe queue. *fifo.Queue supports pushing an item at the end with Add(), and popping an item
Go datastructures.
Go Data Structures by Tim Henderson ([email protected]) Copyright 2013, Licensed under the GPL version 2. Please reach out to me directly if you requ
Data structure and algorithm library for go, designed to provide functions similar to C++ STL
GoSTL English | 简体中文 Introduction GoSTL is a data structure and algorithm library for go, designed to provide functions similar to C++ STL, but more p