Cloudflare впервые представила tokio-quiche — асинхронную Rust-библиотеку, объединяющую мощный стек quiche с Tokio runtime. Этот инструмент помог масштабировать такие сервисы, как iCloud Private Relay и WARP MASQUE, обрабатывая миллионы HTTPS-запросов со сверхнизкой задержкой.
Задача платформы — облегчить разработчикам внедрение протоколов QUIC и HTTP/3 без необходимости писать нативный UDP или свою event-loop. Вместо этого, библиотека оборачивает low-level quiche — реализующий транспортную часть QUIC — в удобный API на Tokio, автоматизирующий работу с сокетами и маршрутизацию пакетов.
Архитектура tokio-quiche строится на акторной модели: управляющий потоковые операции актор управляет множеством дочерних задач, каждый из которых работает с отдельным соединением. Эти воркеры обеспечивают изоляцию данных и плавное масштабирование.
Для поддержки нескольких протоколов поверх QUIC, таких как DNS-over-QUIC или медиа стриминг, разработчики используют Abstraction ApplicationOverQuic, которая инкапсулирует протоколо-специфическую логику. Для HTTP/3 в библиотеке есть H3Driver — модуль, превращающий события в высокоуровневые асинхронные стримы для приложений. Отдельные драйверы для клиента и сервера добавляют нужное поведение.
Cloudflare использует tokio-quiche уже несколько лет в своих внутренних системах, демонстрируя его способность справляться с миллионами запросов в секунду. Это доказательство реальной надежности и высокой масштабируемости библиотеки.
Основная идея — сделать low-level QUIC и HTTP/3 доступными для Rust-разработчиков как базу для собственных решений, а не готовое решение. В будущем ожидается, что команда будет продолжать развивать проект в сторону большей модульности, удобства и поддержки разных протоколов, снижая барьеры для внедрения новых технологий.
Следите за обновлениями и присоединяйтесь к сообществам, чтобы не пропустить важные новости и практики по внедрению QUIC и HTTP/3 в Rust.
