Π Π΅Π»ΠΈΠ· Π½Π° Tokio 1.13.0, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π·Π° създаванС Π½Π° асинхронни прилоТСния Π½Π° Π΅Π·ΠΈΠΊΠ° Rust

ИздадСна вСрсия 1.13.0 Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Tokio, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π·Π° създаванС Π½Π° високопроизводитСлни прилоТСния Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡŠΠ±ΠΈΡ‚ΠΈΡ (Event-driven), която подкрСпя многопоточност ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ заявки Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Π΅ написан Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия MIT. Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия сС отбСлязва Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° докумСнтацията, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ€Π΅Π΄ΠΈΡ†Π° ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π² ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° подсистСма ΠΈ систСмата Π·Π° синхронизация.

Tokio Π²ΠΊΠ»ΡŽΡ‡Π²Π° слСднитС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ:

  • ΠœΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΈΠΊ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‡ΠΈΠΊ Π·Π° Π²Ρ…ΠΎΠ΄/ΠΈΠ·Ρ…ΠΎΠ΄, чиято Ρ€Π°Π±ΠΎΡ‚Π° сС ΡΡŠΡΡ‚ΠΎΠΈ Π² прСдоставянС Π½Π° рСсурси само Π½Π° Ρ‚Π΅Π·ΠΈ ΠΏΠΎΡ‚ΠΎΡ†ΠΈ (Π² контСкста Π½Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС), ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΈ условия, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ условия Π½Π° Π³ΠΎΠ½ΠΊΠ°, чСсто срСщани Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, написани Π½Π° Π΅Π·ΠΈΡ†ΠΈ Π±Π΅Π· бСзопасно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ рСсурситС;
  • Π‘Π΅ΠΊΠ΅Π½Π΄ Π·Π° осигуряванС Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с прСдоставСнитС Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° мултиплСксиранС Π½Π° съСдинСния, ΠΊΠ°Ρ‚ΠΎ epoll, kqueue ΠΈ IOCP;
  • Π’ΠΈΠΏΠΎΠ²Π΅ ΠΈ ΠΏΡ€ΠΈΠ²ΡŠΡ€Π·Π°Π½ΠΎΡΡ‚ΠΈ с рСализация Π½Π° асинхронни 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: Π£Ρ‚ΠΈΠ»ΠΈΡ‚ΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с Π±Π°ΠΉΡ‚ΠΎΠ²Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²ΠΈ Π±ΡƒΡ„Π΅Ρ€ΠΈ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster