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

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

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

tokio-quiche — это попытка Cloudflare снизить барьер. Вместо того, чтобы заставлять разработчиков вручную управлять UDP-сокетами, асинхронными задачами и циклами протоколов, библиотека берёт на себя всю эту инфраструктуру, интегрируясь напрямую с Tokio. В основе лежит архитектура, основанная на акторах. Каждое соединение управляется собственной асинхронной задачей, которая поддерживает состояние протокола в процессе обмена данными по каналам. В результате получается более чистая и понятная реализация для тех, кто уже знаком с асинхронной разработкой на Rust.

Однако это не подразумевает использование HTTP-сервера или клиента «plug-and-play». tokio-quiche предоставляет только базовые строительные блоки. Разработчикам по-прежнему необходимо решить, как должны маршрутизироваться запросы, как должны генерироваться ответы и нужно ли создавать HTTP/3-сервис, инструмент DNS-over-QUIC, туннель MASQUE или что-то совершенно иное. Cloudflare заявляет, что её собственные высокоуровневые инструменты, такие как прокси-серверы, обеспечивающие работу WARP и Apple iCloud Private Relay, построены на тех же внутренних уровнях.

Если больше разработчиков начнут использовать более простые инструменты QUIC, использование HTTP/3 может ускориться. Это выгодно Cloudflare, поскольку у провайдера уже есть крупная оптимизированная для QUIC периферийная сеть.

Cloudflare заявляет, что в дальнейшем будет добавлено больше инструментов, включая высокоуровневые клиентские и серверные фреймворки. Сейчас tokio-quiche доступен для экспериментов на GitHub и crates.io. 

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии