Lanzamiento de Tokio 1.13.0, la plataforma para crear aplicaciones asíncronas en lenguaje Rust

Se ha lanzado la versión 1.13.0 de la plataforma Tokio, diseñada para crear aplicaciones de alto rendimiento basadas en la arquitectura de eventos en el lenguaje Rust, que admite multihilos y procesamiento de solicitudes de red de manera asíncrona. El proyecto está escrito en Rust y se distribuye bajo la licencia MIT. La nueva versión destaca la expansión de la documentación, varias correcciones en el subsistema de red y el sistema de sincronización.

Tokio incluye los siguientes componentes:

  • Un programador de entrada/salida multihilo, cuya función es proporcionar recursos solo a aquellos hilos (en el contexto de la ejecución paralela) que cumplen ciertas condiciones, lo que permite evitar condiciones de carrera, que a menudo se encuentran en programas escritos en lenguajes sin gestión segura de memoria y recursos;
  • Un backend para asegurar la compatibilidad con los mecanismos de multiplexión de conexiones proporcionados en varios sistemas operativos, tales como epoll, kqueue e IOCP;
  • Tipos y enlaces con implementación de sockets TCP y UDP asíncronos.
  • Herramientas para ejecutar tareas de manera asíncrona, incluyendo primitivas de sincronización, canales y tiempos de espera.
  • API para realizar entrada/salida asíncrona, abarcando sockets TCP/UDP, operaciones de archivos, y herramientas de gestión de señales y procesos.

Los desarrolladores destacan características de su producto como un alto rendimiento, comparable a la velocidad en ‘hardware puro’, excelente escalabilidad y fiabilidad, aseguradas por el sistema de tipos y el modelo de paralelismo del lenguaje Rust.

El repositorio cuenta con más de 500 colaboradores, entre los cuales se encuentran representantes de AWS, Azure, Comcast, Dropbox y Facebook. Tokio depende de productos tales como:

  • hyper: implementación rápida y segura de HTTP/1 y HTTP/2 para Rust;
  • warp: un framework liviano para de un servidor web, enfocado en alta velocidad de operación;
  • tracing: un framework para trazabilidad a nivel de aplicación y diagnóstico con consideración de asíncronía;
  • rdbc: biblioteca para conectar bases de datos MySQL, Postgres y SQLite a productos en el lenguaje de programación Rust;
  • bytes: utilidades para trabajar con bytes, incluyendo buffers de bytes eficientes.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster