Релиз Tokio 1.13.0, платформы для создания асинхронных приложений на языке Rust

Kate

Administrator
Команда форума
Выпущена версия 1.13.0 платформы Tokio, предназначенной для создания на языке Rust высокопроизводительных приложений на основе событийно-ориентированной архитектуры (Event-driven), поддерживающей многопоточность и обработку сетевых запросов в асинхронном режиме. Проект написан на языке Rust и распространяются под лицензией MIT. В новой версии отмечается расширение документации, ряд исправлений в сетевой подсистеме и системе синхронизации.

Tokio включает в себя следующие компоненты:

  • Многопоточный планировщик ввода/вывода, работа которого сводится к предоставлению ресурсов только тем потокам (в контексте параллельного исполнения), которые отвечают конкретным условиям, что позволяет избегать состояния гонки, часто встречающиеся в программах, написанных на языках без безопасного управления памятью и ресурсами;
  • Бэкенд для обеспечения совместимости с предоставляемыми в различных операционных системах механизмами мультиплексирования соединений, такими, как epoll, kqueue и IOCP;
  • Типы и привязки c реализацией асинхронных TCP- и UDP-сокетов.
  • Инструменты для выполнения задач в асинхронном режиме, включая примитивы синхронизации, каналы и таймауты.
  • API для выполнения асинхронного ввода/вывода, охватывающий TCP/UDP-сокеты, файловые операции, средства управления сигналами и процессами.
Разработчики отмечают такие особенности своего продукта, как высокую производительность, сравнимую со скоростью работы на "голом железе", отличную масштабируемость и надёжность, обеспечиваемую системой типов и моделью параллелизма языка Rust.

Репозиторий насчитывает более 500 участников, в числе которых представители AWS, Azure, Comcast, Dropbox и Facebook. В качестве зависимости Tokio используют такие продукты, как:

  • hyper: быстрая и безопасная реализация HTTP/1 и HTTP/2 для Rust;
  • warp: легковесный фреймворк для веб-сервера, ориентированный на высокую скорость работы;
  • tracing: фреймворк для трассировки на уровне приложений и диагностики с учетом асинхронности;
  • rdbc: библиотека для подключения баз данных MySQL, Postgres и SQLite к продуктам на языке программирования Rust;
  • bytes: Утилиты для работы с байтами, включая эффективные байтовые буферы.
 
Сверху