A Multi Consumer per Message Queue with persistence and Queue Stages.

Related tags

Messaging crimsonq
Overview

CrimsonQ

A Multi Consumer per Message Queue with persistence and Queue Stages.

crimsonq

Build Status

Under Active Development

Crimson Queue allows you to have multiple consumers listening on topics and receive a copy of a message that targets its topic. It provides multiple consumers with a message queue and complex message routing. Utilizes the same methodology as MQTT topic routing but with queue stages and persistence per consumer. This is under active development. It is being developed in Go and utilizes BadgerDB as the internal database layer to provide top notch performance, persistence and durability. It supports Redis RESP protocol, allowing any redis library the ability to connect to it and communicate with it also keeping the performance at, also can be utilized from redis-cli.

The combination of BadgerDB and RESP protocol allows near 0.5M transactions a second on a single core with minimal ram requirements. It is optimized to be used in the cloud with VPS servers providing SSD storages.

You might also like...
Simple-messaging - Brokerless messaging. Pub/Sub. Producer/Consumer. Pure Go. No C.

Simple Messaging Simple messaging for pub/sub and producer/consumer. Pure Go! Usage Request-Response Producer: consumerAddr, err := net.ResolveTCPAddr

Gomaxscale - CDC consumer for MaxScale

gomaxscale Go library that allows consuming from MaxScale CDC listener. Useful f

The Xiaomi message push service is a system-level channel on MIUI and is universal across the platform, which can provide developers with stable, reliable, and efficient push services.

Go-Push-API MiPush、JiPush、UMeng MiPush The Xiaomi message push service is a system-level channel on MIUI and is universal across the platform, which c

GTA(Go Task Async) is a lightweight reliable asynchronous task and transaction message library for Golang

GTA (Go Task Async) is a lightweight and reliable asynchronous task and transaction message library for by golang.

🔊Minimalist message bus implementation for internal communication

🔊 Bus Bus is a minimalist event/message bus implementation for internal communication. It is heavily inspired from my event_bus package for Elixir la

An n:m message multiplexer written in Go
An n:m message multiplexer written in Go

What is Gollum? Gollum is an n:m multiplexer that gathers messages from different sources and broadcasts them to a set of destinations. Gollum origina

A library for scheduling when to dispatch a message to a channel

gosd go-schedulable-dispatcher (gosd), is a library for scheduling when to dispatch a message to a channel. Implementation The implementation provides

:incoming_envelope: A fast Message/Event Hub using publish/subscribe pattern with support for topics like* rabbitMQ exchanges for Go applications

Hub 📨 A fast enough Event Hub for go applications using publish/subscribe with support patterns on topics like rabbitMQ exchanges. Table of Contents

Go simple async message bus
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

Comments
  • Consumer Considered Inactive

    Consumer Considered Inactive

    If the producer has not created any messages for a consumer, and the consumer client is connected, there should be a heart beat to extend the inactive state

    bug 
    opened by ywadi 1
Releases(v0.9.8)
  • v0.9.8(Mar 1, 2022)

    What's Changed

    • Adding CLI to bin in docker by @ywadi in https://github.com/ywadi/crimsonq/pull/25

    Full Changelog: https://github.com/ywadi/crimsonq/compare/v0.9.7...v0.9.8

    Source code(tar.gz)
    Source code(zip)
  • v0.9.7(Mar 1, 2022)

    What's Changed

    • Move cors before login by @ywadi in https://github.com/ywadi/crimsonq/pull/22
    • Add UI to Docker, fix http route for static by @ywadi in https://github.com/ywadi/crimsonq/pull/23
    • Update README.md by @ywadi in https://github.com/ywadi/crimsonq/pull/24

    Full Changelog: https://github.com/ywadi/crimsonq/compare/v0.9.6...v0.9.7

    Source code(tar.gz)
    Source code(zip)
  • v0.9.6(Feb 21, 2022)

    What's Changed

    • Create CODE_OF_CONDUCT.md by @ywadi in https://github.com/ywadi/crimsonq/pull/20
    • Bearer Auth by @ywadi in https://github.com/ywadi/crimsonq/pull/21

    Full Changelog: https://github.com/ywadi/crimsonq/compare/0.9.5...v0.9.6

    Source code(tar.gz)
    Source code(zip)
  • 0.9.5(Feb 19, 2022)

    What's Changed

    Added CLI code, and build codes as well as refactors

    • Dev by @ywadi in https://github.com/ywadi/crimsonq/pull/18

    Full Changelog: https://github.com/ywadi/crimsonq/compare/v0.9.1...0.9.5

    Source code(tar.gz)
    Source code(zip)
  • v0.9.1(Feb 14, 2022)

    Hot Fix for empty pull queue should not return RESP error, but a null

    What's Changed

    • Fix response on empty que pull to null, not resp error: for :https://… by @ywadi in https://github.com/ywadi/crimsonq/pull/17

    Full Changelog: https://github.com/ywadi/crimsonq/compare/v0.9.0...v0.9.1

    Source code(tar.gz)
    Source code(zip)
  • v0.9.0(Feb 14, 2022)

    What's Changed

    • Moving to 0.9.0 by @ywadi in https://github.com/ywadi/crimsonq/pull/14
    • Added Consumer Info command to RESP and HTTP interfaces
    • Fixed last active to be updated with RESP heartbeat or MSG/Counts on HTTP REST.

    New Contributors

    • @ywadi made their first contribution in https://github.com/ywadi/crimsonq/pull/14

    Full Changelog: https://github.com/ywadi/crimsonq/compare/v0.8.0...v0.9.0

    Source code(tar.gz)
    Source code(zip)
  • v0.8.0(Feb 9, 2022)

  • 0.7.5(Feb 8, 2022)

    Ready and Launched 🚀

    • Added New Feature to support concurrency limit per consumer
    • Added new commands to RESP

    Full Changelog: https://github.com/ywadi/crimsonq/compare/0.6.0...0.7.5

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(Feb 7, 2022)

Owner
Yousef Wadi
Yousef Wadi
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

Richard Knop 6.7k Jan 7, 2023
Alertmanager go message broker - A simple message broker made to integrate with alertmanager/prometheus

Alertmanager message broker Prerequisites Go 1.16+ Sqllite driver About: The alertmanager message broker is a project made to meet some of my needs to

Davi Araújo 0 Dec 27, 2021
Fetch gas stations prices from Tankerkönig api with Orion Context Broker persistence

tankerkoenig-fuel-machinery - Fetch gas stations from tankerkoenig api and persist them into an Orion Context Broker Scope This project aims to fetch

phoops s.r.l. 3 Feb 14, 2022
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

Nuggets 2 Nov 22, 2021
Kafka producer and consumer tool in protobuf format.

protokaf Kafka producer and consumer tool in protobuf format. Features Consume and produce messages using Protobuf protocol Trace messages with Jaeger

SberMarket Tech 120 Nov 15, 2022
Producer x Consumer example using Kafka library and Go.

Go - Kafka - Example Apache Kafka Commands First of all, run the docker-compose docker-compose up, than run docker exec -it kafka_kafka_1 bash Topics

Roberto Morel 0 Dec 8, 2021
Experiments using Go 1.18beta1's Generic typings and the Segmentio kafka-go consumer client

Experiments using Go 1.18beta1's Generic typings and the Segmentio kafka-go consumer client

Derek Chau 0 Jan 28, 2022
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

Tom Arrell 125 Nov 9, 2022
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

Temur Yunusov 0 Nov 20, 2021
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

Daniel Emery 0 Dec 20, 2021