~volf/zkmq

Simple Rust Message Queue, backed by Zookeeper
458444c5 — Colum 3 years ago
Don't upwrap here.
e3ed46ab — Colum 3 years ago
Remove Cargo.lock
c828132b — Colum 3 years ago
Fix bug that consumption would be blocked if the consumer was started on an empty queue. Also cleaned up code a bit

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~volf/zkmq
read/write
git@git.sr.ht:~volf/zkmq

You can also use your local clone with git send-email.

#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.