Сервис контекстной рекламы «Бегун» открывает новый проект – Lizard. Исходный код продукта доступен на GitHub: Lizard.
Lizard — это движок многопоточного HTTP-сервера. Программа, использующая его, реализуется или как динамически подгружаемый Lizard'ом плагин, или статически линкуется с движком в единый исполнимый файл.
Всю работу с протоколом HTTP Lizard берёт на себя, и от плагина требуется относительно протоколо-независимая реализация обработки соответствующих событий.
Отличительной особенностью Lizard является наличие двух логически разделённых пулов потоков-обработчиков соединений. Реализацией предполагается, что первый пул обрабатывает запросы, на которые ответ может быть отдан быстро (например, из кэша), а второй - более "сложные" запросы (например, требующие обновления данных в кэше.
Запросы к обоим пулам тредов организуются в очереди с настраиваемым ограничением по размеру. Это позволяет не перегружать демон. При достижении ограничения на размер очереди дальнейшие запросы просто отбрасываются.
На базе Lizard в «Бегуне» работают различные сервисы, от которых требуется стабильно низкое среднее время ответа.
«Бегун» регулярно делится своими разработками с сообществом программистов. Сейчас представлены исходные коды четырех проектов», - говорят в компании.