muduo
Event-driven network library for multi-threaded Linux server in C++11
A C++ multi-threaded network library for Linux based on the reactor pattern, used to build high-concurrency server software.
Muduo is a network library written in C++ for building fast, multi-threaded server applications on Linux. A network library handles the low-level plumbing of accepting connections, sending and receiving data, and managing many simultaneous clients — so developers can focus on their application logic instead of re-implementing these basics from scratch.
It is built around the reactor pattern, a common architectural approach where a single thread waits for network events (like an incoming message) and then dispatches them to worker threads for processing. This makes it well-suited for server software that needs to handle many concurrent connections efficiently.
Muduo is aimed at C++ developers building backend server software on Linux who need a reliable, well-tested networking foundation. The README notes requirements of Linux kernel 2.6.28 or newer and a modern C++ compiler.
Where it fits
- Build a high-concurrency chat server on Linux without writing epoll code by hand.
- Implement a custom RPC backend using muduo's TcpServer and EventLoop.
- Study the reactor pattern by reading a production-quality C++ codebase.
- Prototype a low-latency game backend on a single Linux box.