Server Architecture

From LVSKB
Jump to: navigation, search

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.

References