Rust dilində asinxron proqramlar yaratmaq üçün platforma olan Tokio 1.13.0-ın buraxılışı

Tokio platformasının 1.13.0 versiyası buraxıldı, o, asinxron rejimdə şəbəkə sorğularının çoxlu oxunuşunu və emalını dəstəkləyən hadisələrə əsaslanan arxitektura əsasında Rust dilində yüksək məhsuldar proqramlar yaratmaq üçün nəzərdə tutulmuşdur. Layihə Rust dilində yazılmış və MİT lisenziyası ilə yayılmışdır. Yeni versiya sənədlərin genişləndirilməsini, şəbəkə altsistemində və sinxronizasiya sistemində bir sıra düzəlişləri qeyd edir.

Tokio aşağıdakı komponentləri ehtiva edir:

  • Yalnız xüsusi şərtlərə cavab verən (paralel icra kontekstində) resursları təmin etməklə işləyən və bununla da təhlükəsiz yaddaş və resurs idarəetməsi olmadan dillərdə yazılmış proqramlarda tez-tez rast gəlinən yarış şərtlərindən qaçan çox yivli I/O planlaşdırıcısı;
  • epoll, kqueue və IOCP kimi müxtəlif əməliyyat sistemlərində təqdim edilən əlaqə multipleksləşdirmə mexanizmləri ilə uyğunluğu təmin etmək üçün arxa plan;
  • Asinxron TCP və UDP yuvalarının həyata keçirilməsi ilə növlər və bağlamalar.
  • Tapşırıqları asinxron şəkildə yerinə yetirmək üçün alətlər, o cümlədən sinxronizasiya primitivləri, borular və fasilələr.
  • TCP/UDP yuvalarını, fayl əməliyyatlarını, siqnal və proses nəzarətlərini əhatə edən asinxron I/O yerinə yetirmək üçün API.

Tərtibatçılar məhsullarının çılpaq metal üzərində işləmə sürəti ilə müqayisə edilə bilən yüksək performans, Rust dilinin tip sistemi və paralellik modeli tərəfindən təmin edilən əla miqyaslılıq və etibarlılıq kimi xüsusiyyətlərini qeyd edirlər.

Repozitoriyada AWS, Azure, Comcast, Dropbox və Facebook nümayəndələri də daxil olmaqla 500-dən çox iştirakçı var. Tokionun asılılıqlarına aşağıdakılar kimi məhsullar daxildir:

  • hiper: Rust üçün HTTP/1 və HTTP/2-nin sürətli və təhlükəsiz həyata keçirilməsi;
  • çarx: yüngül bir çərçivə veb server, işin yüksək sürətinə yönəlmiş;
  • izləmə: asinxroniya nəzərə alınmaqla tətbiq səviyyəsində izləmə və diaqnostika üçün çərçivə;
  • rdbc: MySQL, Postgres və SQLite verilənlər bazalarını Rust proqramlaşdırma dilində məhsullara qoşmaq üçün kitabxana;
  • bayt: Effektiv bayt buferləri də daxil olmaqla baytları idarə etmək üçün proqramlar.

Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster