Skip to content

Releases

MoonMQ v0.1.0

Choose a tag to compare

@HilthonTT HilthonTT released this 06 Oct 23:04

First tagged release of MoonMQ, a message broker written in Lua 5.4.

This is a source release: there are no prebuilt binaries. See the README for how to install the dependencies and run the broker.

Highlights

Messaging

  • Topics and partitions on an append-only commit log, with compaction and segment rolls
  • Grow a topic's partition count with CREATE_PARTITIONS
  • Batching, transactions and a dead-letter queue
  • Consumer groups, seek by timestamp, LIST_OFFSETS, and topic and consumer-group admin

Clustering

  • Replication with failover and in-sync replicas
  • Raft consensus for controller and cluster metadata

Security

  • Multiple users with ACLs, quotas and authenticated metrics
  • SCRAM-SHA-256 with channel binding (tls-server-end-point and tls-exporter)
  • TLS, including client-certificate login and certificate reload on SIGHUP

Durability fixes

  • atomic_write fsyncs, and every temp-file save goes through it
  • Push offsets are committed only after frames reach the socket
  • Sync results are checked on transaction markers and replica appends
  • Commit-log offsets stay stable through compaction and rolls

Version

lua5.4 main.lua --version now reports 0.1.0 instead of dev.