Cloudflare опубликовала исходный код библиотеки QUIC и HTTP/3 на Rust Обложка: Skyread

Cloudflare опубликовала исходный код библиотеки QUIC и HTTP/3 на Rust

Новости
Главное:

  • Cloudflare опубликовала исходный код асинхронной библиотеки tokio-quiche, реализующей протоколы QUIC и HTTP/3 на базе среды выполнения Rust Tokio.
  • Библиотека берёт на себя управление инфраструктурой протоколов, упрощая разработку за счёт интеграции с асинхронным исполнением Tokio и использования архитектуры на основе акторов.
  • tokio-quiche предоставляет базовые строительные блоки, оставляя разработчикам свободу в реализации маршрутизации запросов и создании сервисов с поддержкой HTTP/3 и QUIC.

Компания Cloudflare официально открыла исходный код библиотеки tokio-quiche, предназначенной для асинхронной работы с протоколами QUIC и HTTP/3 в экосистеме программирования на языке Rust. Этот проект построен на базе среды выполнения Tokio и направлен на упрощение интеграции современных интернет-протоколов для разработчиков.

Внедрение QUIC и HTTP/3 в широкую практику до сих пор продвигалось довольно медленно, частично из-за высокой сложности стека протоколов и недостатка удобных инструментов. Ранее Cloudflare применяла «sans-io» подход в реализации quiche, когда управление протоколом отделялось от сетевого ввода-вывода. Несмотря на теоретическую гибкость, такой метод требовал от разработчиков глубоких знаний и самостоятельного управления низкоуровневыми деталями, что ограничивало использование технологии.

Tokio-quiche меняет этот подход, беря на себя управление UDP-сокетами, асинхронными задачами и циклами обмена данными, интегрируясь напрямую с системой асинхронного исполнения Tokio. Архитектура библиотеки опирается на концепцию акторов, где каждое соединение обслуживается отдельной задачей, поддерживающей текущее состояние протокола. Это позволяет добиться более чистого и понятного кода для разработчиков, знакомых с асинхронной моделью Rust.

Важно отметить, что tokio-quiche предоставляет низкоуровневые строительные блоки для работы с QUIC и HTTP/3, а не готовые серверы или клиенты. Создателям приложений остаётся самому реализовывать маршрутизацию запросов, генерацию ответов и определять тип сервиса — будь то HTTP/3-сервер, DNS-over-QUIC, туннель MASQUE и тому подобное. Стоит подчеркнуть, что собственные решения Cloudflare, включая инструменты для сервисов WARP и Apple iCloud Private Relay, строятся на тех же внутренних компонентах.

С распространением tokio-quiche компания рассчитывает на ускорение внедрения протокола HTTP/3 в сообществе Rust-разработчиков, что принесёт выгоду и ей самой благодаря масштабируемой сети периферийной инфраструктуры, оптимизированной под QUIC. В будущем Cloudflare планирует расширить экосистему, добавив высокоуровневые клиентские и серверные фреймворки для упрощения создания приложений.

На данный момент tokio-quiche доступна для экспериментов и интеграции на GitHub и в реестре crates.io, что открывает новые возможности для разработчиков, стремящихся использовать передовые протоколы в своих проектах.

Tagged