Реализация асинхронного фреймворка на базе Nginx: асинхронные задачи и сервисы на примере nginx-haskell-module Архитектуры, масштабируемость
* Технические аспекты реализации асинхронных задач, контент-хэндлеров и сервисов (то есть персистентных задач, не привязанных к запросам пользователей) и их интеграции в событийный механизм Nginx.
* Асинхронные каналы eventfd.
* Разделяемые сервисы, то есть сервисы, обслуживающие все рабочие процессы одновременно, и как реализовать их безопасно (использование advisory file locks).
* Сервисные хуки и глобальные состояния.
- Быстрая и безопасная передача данных между Nginx и Haskell хэндлерами, и почему cleanup-хэндлеры Nginx играют здесь важную роль.
- Оптимизация работы с памятью в обычных и разделяемых сервисах (разделение и подсчет ссылок).
- Типизированная передача данных.
Краткое описание плюсов и минусов Haskell в роли языка для написания сервисов и асинхронных задач.
Пример. Онлайн-мониторинг распределения запросов между рабочими процессами Nginx.