Drop-in replacement for beanstalkd, written in Rust: TLS, metrics, Raft replication
132
A drop-in replacement for beanstalkd, the simple work queue, written in Rust. It speaks the beanstalkd protocol byte for byte, so existing clients work unmodified; it is faster with many connections, adds TLS and monitoring, and can replicate the queue across a 3- or 5-node Raft cluster.
Source, documentation and release archives: https://github.com/shaunlee/beanstalkd-rs
0.5.0, 0.5, latest: linux/amd64 and linux/arm64In memory:
docker run -d -p 11300:11300 shonhen/beanstalkd-rs
With a write-ahead log in a volume:
docker run -d --init -p 11300:11300 -v bstk-data:/data \
shonhen/beanstalkd-rs -l 0.0.0.0 -p 11300 -b /data
With a configuration file (TLS listeners, HTTP monitoring, cluster mode):
docker run -d --init -p 11300:11300 \
-v "$PWD/etc:/etc/beanstalkd-rs:ro" -v bstk-data:/data \
shonhen/beanstalkd-rs --config /etc/beanstalkd-rs/config.toml
Arguments replace the default command (-l 0.0.0.0 -p 11300), so repeat -l / -p when adding flags. The server runs as the non-root user beanstalkd (uid 10001), keeps its data in /data, exposes 11300, stops gracefully on SIGTERM, and has a HEALTHCHECK that sends stats to 127.0.0.1:11300. Run cluster nodes with --restart on-failure.
Every configuration key: beanstalkd-rs.example.toml. Operations guide (clusters, TLS, backups, upgrades, monitoring): OPERATIONS.md.
1.2–1.4× the throughput of beanstalkd at 10 and 100 connections with 10–24% less CPU per operation, and 2.2× with a binlog; details in BENCH.md.
MIT
Content type
Image
Digest
sha256:b2f7b16b8…
Size
33.6 MB
Last updated
about 8 hours ago
docker pull shonhen/beanstalkd-rs