Server Architecture
From LVSKB
Server Architecture
Multiple-Process Architecture
Multiple-Thread Architecture
Single-Process Event-Driven Architecture
Multiple-Process Event-Driven Architecture
Multiple-Thread Event-Driven Architecture
Server Software
Apache
Apache supports multiple-process architecture and multiple-thread architecture.
nginx
Nginx supports both the single-process event-driven architecture and the multiple-process event-driven architecture.
lighttpd
Lighttpd uses the single-process event-driven architecture.
squid
Squid uses the single-process event-driven architecture, because the main process of squid handles all kind of network connections, despite that different processes can handle disk I/O under the diskd configuration.
Varnish
Varnish uses the multiple-thread architecture. Each client connection is handled by a separate worker thread, though the main thread uses poll to process events on socket listening.
HAProxy
HAProxy uses the single process event-driven architecture.