seastar
High performance server-side application framework
Seastar is a C++ framework for building server software that handles hundreds of thousands of simultaneous connections by using async futures and a cooperative task loop instead of threads, used in production by ScyllaDB and Redpanda.
Seastar is a C++ framework for building server software that needs to handle a very large number of requests at once without slowing down. It is designed around the idea that waiting for slow operations, like reading from disk or receiving network data, should never block other work from happening. Instead of the traditional approach where each incoming connection gets its own thread, Seastar runs everything on a small number of threads and uses an event-driven model where tasks take turns in a cooperative loop.
The framework uses a programming style based on futures, which are placeholders for results that are not available yet. When your code kicks off an operation that would normally block, it immediately gets a future back and can continue doing other things. When the result arrives, the next step in your program runs automatically. This approach can be unfamiliar at first but allows a single server to handle hundreds of thousands of simultaneous connections on modest hardware.
Seastar also includes its own network stack that bypasses the operating system's standard networking layer to get better throughput on fast network cards. It works best on machines with multiple CPU cores and fast SSDs, and is designed to scale across all available cores without threads competing for the same memory. It optionally integrates with DPDK, a toolkit for high-speed packet processing.
The build system uses a Python configuration script that wraps CMake. You choose a build mode such as release, development, or debug, run the configuration, and then compile with Ninja. The compiled library can be consumed directly from the build directory or installed to the system and linked via standard C++ build tools.
Seastar is used in production by several projects including ScyllaDB, a high-performance database, and Redpanda, a message streaming system. Documentation, a tutorial, and a developer mailing list are available on the project website.
Where it fits
- Build a custom database or message broker that handles hundreds of thousands of concurrent TCP connections on a single server without degrading throughput.
- Write a high-throughput network service that bypasses the OS networking layer using DPDK to maximize packet processing speed on fast network hardware.
- Develop latency-sensitive server software that automatically distributes work across all CPU cores without threads competing for shared memory.