Lua bindings for ZeroMQ 2.x, enabling high-performance message passing between distributed applications.
lua-zmq is a Lua binding library for ZeroMQ 2.x that enables Lua applications to use ZeroMQ's high-performance messaging capabilities. It provides Lua interfaces to ZeroMQ sockets and patterns for building distributed systems, allowing communication between threads, processes, and networked machines. The library solves the problem of implementing efficient inter-process communication in Lua-based applications.
Lua developers building distributed systems, networked applications, or requiring high-performance message passing between components. This includes developers working on game servers, real-time systems, or microservices architectures in Lua.
Developers choose lua-zmq because it provides native ZeroMQ performance to Lua applications with minimal overhead, supports multiple ZeroMQ versions, and offers optional thread support. Its benchmarks show throughput comparable to C++ implementations when used with LuaJIT.
Lua zeromq2 binding
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Benchmarks show throughput up to 6.16 million messages per second with LuaJIT, approaching C++ performance levels, as detailed in the throughput section.
Works on Linux and Windows with precompiled binaries available, supporting multiple systems with ZeroMQ installations.
Can be installed via LuaRocks, CMake, or precompiled Windows binaries, offering choices for different development workflows.
Includes the lua-zmq-threads module for multi-threaded applications, enhancing concurrency capabilities in Lua.
Only binds to ZeroMQ 2.1, 2.2, or 3.2, missing newer features and compatibility with modern ZeroMQ releases.
Requires compiling Lua with '-pthread' or preloading libpthread.so on Linux, adding deployment hurdles as noted in the requirements.
Relies on external links like API.md and ZeroMQ docs, with minimal examples or tutorials in the README itself.