#zookeeper #message-queue

bin+lib zkmq

Simple Rust Message Queue, backed by Zookeeper

11 releases

0.2.7 Aug 21, 2021
0.2.6 Aug 21, 2021
0.2.4 Jul 9, 2021
0.2.3 May 2, 2021
0.1.5 Feb 22, 2021

#169 in Concurrency

Download history 15/week @ 2021-07-04 3/week @ 2021-07-11 11/week @ 2021-07-18 13/week @ 2021-07-25 20/week @ 2021-08-01 3/week @ 2021-08-08 56/week @ 2021-08-15 21/week @ 2021-08-22 1/week @ 2021-09-05 3/week @ 2021-09-12 7/week @ 2021-09-19 3/week @ 2021-09-26 18/week @ 2021-10-03 19/week @ 2021-10-10

51 downloads per month
Used in jotty

Apache-2.0

24KB
416 lines

zkmq.

zkmq is a simple message queue writte in Rust and backed by Zookeeper (and maybe others).

The primary design concern of zkmq is simplicity of use in application, high durability, and limited external dependencies.

zkmq vs...

Out of all the message queue solutions I can think of off the top of my head, the closest conceptually to zkmq is amazon sqs. The primary use case to send messages between asynchronous processes, where each message is read once and then discarded in the background.

zkmq is not designed to replace RabbitMQ, Kafka, or other flexible message queue solutions.

filtering

zkmq has support for message filtering based on arbitrary fields. Consumers can define filters and only select messages that match the supplied filters.

There is a performance impact when doing this, as the library has to scan enqueued messages to find a matching message and then attempt to consume thre message. In a multi consumer environment, you might run into contention during this process which would cause the loser to keep trying until it is successful.

Dependencies

~3–4.5MB
~87K SLoC