Publication de Tokio 1.13.0, la plateforme pour créer des applications asynchrones en Rust.

La version 1.13.0 de la plateforme Tokio a été lancée, permettant de créer des applications de haute performance en Rust basées sur une architecture événementielle (Event-driven), prenant en charge le multithreading et le traitement asynchrone des requêtes réseau. Le projet est écrit en Rust et distribué sous la licence MIT. La nouvelle version se distingue par l'élargissement de la documentation, plusieurs corrections dans le sous-système réseau et le système de synchronisation.

Tokio comprend les composants suivants :

  • Un planificateur d'entrée/sortie multithread, dont le fonctionnement consiste à fournir des ressources uniquement aux threads (dans le contexte de l'exécution parallèle) qui remplissent des conditions spécifiques, ce qui permet d'éviter les conditions de concurrence, souvent rencontrées dans les programmes écrits dans des langages sans gestion sécurisée de la mémoire et des ressources ;
  • Un backend pour assurer la compatibilité avec les mécanismes de multiplexage de connexion fournis par différents systèmes d'exploitation, tels que epoll, kqueue et IOCP ;
  • Types et liaisons avec la mise en œuvre de sockets TCP et UDP asynchrones.
  • Outils pour exécuter des tâches en mode asynchrone, y compris des primitives de synchronisation, des canaux et des délais d'attente.
  • API pour effectuer des entrées/sorties asynchrones, couvrant les sockets TCP/UDP, les opérations sur fichiers, les moyens de gestion des signaux et des processus.

Les développeurs mettent en avant des caractéristiques de leur produit telles qu'une haute performance, comparable à la vitesse de fonctionnement sur 'matériel nu', une excellente évolutivité et une fiabilité assurée par le système de types et le modèle de parallélisme du langage Rust.

Le dépôt compte plus de 500 contributeurs, y compris des représentants d'AWS, Azure, Comcast, Dropbox et Facebook. Tokio utilise en dépendance des produits tels que :

  • hyper : une implementation rapide et sécurisée de HTTP/1 et HTTP/2 pour Rust ;
  • warp : un framework léger pour serveur web, axé sur la vitesse ;
  • tracing : un framework de traçage au niveau des applications et de diagnostic prenant en compte l'asynchronicité ;
  • rdbc : une bibliothèque pour connecter des bases de données MySQL, Postgres et SQLite aux produits écrits en Rust ;
  • bytes : des utilitaires pour travailler avec des octets, y compris des tampons octets efficaces.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster