All Projects

C++ Epoll HTTP Server

nodejs event loop

Article WIP

Built a single-threaded, event-driven, asynchronous C++ HTTP/1.1 web server using the scalable edge-triggered epoll syscall for IO multiplexing and nonblocking IO (fcntl on sockets), modelled after the “Reactor Design Pattern” used in NodeJS’ architecture.

It is highly concurrent, capable of supporting 10K simultaneous client connections at 10K queries-per-second (QPS) on average using wrk benchmark. Currently working on increasing QPS throughput by delegating requests to a worker thread pool. You can check it out here.