Servers
#
Scope
#
- Iterative servers
- Event demultiplexers:
select()/poll()/epoll() - Thread-per-connection architecture
- C10k problem
- Quality metrics: QPS, EPS, latency
- Event loop based servers
- Scaling out event loops
- shared demultiplexers with
EPOLLONESHOT - private demultiplexers
SO_REUSEPORT to scale out accept()
- Reactor pattern
- State Machine pattern
- Coroutines
- Zero-Copy solutions
Reference
#
- Lecture Slides
- Code samples
- Old slides: Inet_3en.pdf
- The GNU C library documentation:
13.8: Waiting for Input or Output,
16.11: The inet daemon,
18.1 Overview of Syslog,
24.2.4: Asynchronous I/O Signals