cloudamqp / lavinmq
git clone https://github.com/cloudamqp/lavinmq.git
v2.10.2 · 16d ago
Ultra quick message queue and streaming server
+0
stars, 24h · #23,602
+3
stars, 7 days · #22,533
+~10
stars, 30 days · #26,804
1.0k
★ total · +0% this week
66
forks · 195 open issues
Star history (as recorded here)
LanguageCrystal
LicenseApache-2.0
Created2017-05-03 (9y ago)
Last pushtoday
Watchers18
OwnerOrganization
Seen on GitHub Trending
- 2026-10-22 — #3 weekly in crystal · +3 ★
- 2026-10-21 — #2 weekly in crystal · +2 ★
- 2026-10-20 — #2 weekly in crystal · +3 ★
GitHub topics
Links
- GitHub: github.com/cloudamqp/lavinmq
- Homepage: https://lavinmq.com
- Releases · Issues · Hacker News mentions
README excerpt
# LavinMQ is a high-performance message queue & streaming server implementing the AMQP 0-9-1 and MQTT 3.1.0, 3.1.1 protocols. Built with Crystal for optimal efficiency. - **Lightning Fast**: Exceptional throughput performance - **Resource Efficient**: Minimal RAM requirements - **Highly Scalable**: Handles very long queues and numerous connections - **Simple Setup**: Requires minimal configuration to get started Discover more at LavinMQ.com ## Installation See Installation guide for more information on installing LavinMQ. See the LavinMQ Operator for instructions on running the Kubernetes operator. ### Debian/Ubuntu [code] ### Fedora [code] ### Arch Linux The package is available on AUR, it depends on `gc-large-config` (that conflicts with `gc` package package), it is the very same gc package found in Arch Linux but compiled with `--enable-large-config`. Then use systemctl to start/stop/enable/disable it, e.g. `systemctl start lavinmq`. ### macOS You can install LavinMQ from Homebrew with `brew`: [code] ### Docker Docker images are published to Docker Hub. Fetch and run the latest version with: [code] #### Docker Compose Minimal example on how to run LavinMQ with Docker compose. [code] Start the container by running `docker compose up` For an example on setting up a multi-node LavinMQ cluster with Docker Compose, see Setting up a LavinMQ cluster with Docker Compose ### Windows For running LavinMQ on Windows, we recommend using WSL (Windows Subsystem for Linux). Install your preferred Linux distribution through WSL, then follow the installation instructions for that distribution above. ### From Source Begin with installing Crystal. Refer to Crystal's installation documentation on how to install Crystal. Clone the git repository and build the project. [code] ## Using LavinMQ ### Getting Started For a quick start guide on using LavinMQ, see the getting started documentation. ### Running LavinMQ LavinMQ only requires one argument: a path to a data directory. [code] More configuration options can be viewed with `-h`, and you can specify a configuration file too, see extras/lavinmq.ini for an example, or see the section on config files in the documentation. To run multiple LavinMQ instances on the same host, give each one its own `--data-dir`, ports/binds and a unique `--control-unix-path` (the socket `lavinmqctl` connects to, default `/tmp/lavinmqctl.sock`). `lavinmqctl` accepts the same `--control-unix-path` flag (or the `LAVINMQCTL_CONTROL_UNIX_PATH` environment variable) to reach a specific instance. ### Client Libraries All AMQP client libraries work with LavinMQ, and there are AMQP client libraries for almost every platform. The LavinMQ website has guides for many common platforms: - Ruby - Node.js - Java - Python - PHP - Crystal - Go - .NET ## Performance LavinMQ delivers exceptional throughput performance on commodity hardware. On a single c8g.large EC2 instance with GP3 EBS storage (XFS formatted), LavinMQ achieves: **Throughput