Механика web-акселерации Системное администрирование
Наверное, вы легко перечислите 10 или более web-акселераторов, и список их постоянно растет. Кроме разных функциональных возможностей, web-акселераторы значительно отличаются архитектурно, тем, как они взаимодействуют с операционной системой и реализуют те или иные HTTP-стандарты.
Понимание архитектурных различий и внутренностей конкретных прокси может помочь в выборе решения, наиболее подходящего к конкретному проекту, и разобраться со сложными задачами производительности и аномалиями обслуживания.
В этом докладе мы обсудим следующие вопросы на примере Nginx, Varnish, Apache Traffic Server, HAProxy, H2O и Tempesta FW:
* Как прокси управляют соединениями с клиентом и к бэкенд-серверам;
* Очереди HTTP-сообщений и фейловеринг соединений с бэкендами в стандартах HTTP и реализациях прокси, и как это влияет на безопасность;
* Работа и взаимодействие декодеров и парсеров HTTP/1.x, HTTP/2 и HTTP/3 (QUIC);
* HPACK и QPACK компрессии в HTTP/2 и HTTP/3 (QUIC), соответственно, и как они влияют на производительность;
* Что, как и в каких случаях можно кэшировать;
* Различные архитектуры кэширования: mmap(), файловый кэш и база данных;
* Оптимизации на уровне сетевого I/O и TLS, доступные в некоторых web-акселераторах и современных Linux-ядрах.
Основатель и системный архитектор Tempesta Technologies, эксперт в области высокопроизводительных вычислений в Linux/x86-64.