Tokio 1.13.0 чыгарылышы, Rust тилинде асинхрондук тиркемелерди түзүү үчүн платформа

Tokio платформасынын 1.13.0 версиясы чыгарылды, ал асинхрондук режимде көп агымдык жана тармактык суроо-талаптарды иштетүүнү колдогон окуяга негизделген архитектуранын негизинде Rust тилинде жогорку натыйжалуу тиркемелерди түзүү үчүн иштелип чыккан. Долбоор Rust тилинде жазылган жана MIT лицензиясы боюнча таратылган. Жаңы версия документациянын кеңейүүсүн, тармактык подсистемадагы жана синхрондоштуруу системасындагы бир катар оңдоолорду белгилейт.

Tokio төмөнкү компоненттерди камтыйт:

  • Коопсуз эстутум жана ресурстарды башкаруусуз тилдерде жазылган программаларда көп кездешүүчү жарыш шарттарынан качуу үчүн, конкреттүү шарттарга жооп берген жиптерге гана ресурстарды (параллель аткаруу контекстинде) берүү менен иштеген көп агымдуу I/O пландоочусу;
  • Epoll, kqueue жана IOCP сыяктуу ар кандай операциялык системаларда берилген туташуу мультиплекстөө механизмдери менен шайкеш келүүнү камсыз кылуу үчүн Backend;
  • Асинхрондук TCP жана UDP розеткаларын ишке ашыруу менен түрлөрү жана байланыштары.
  • Тапшырмаларды асинхрондук түрдө аткаруу үчүн куралдар, анын ичинде синхрондоштуруу примитивдери, түтүктөр жана күтүү убакыттары.
  • TCP/UDP розеткаларын, файл операцияларын, сигналды жана процессти башкарууну камтыган асинхрондук киргизүү/чыгаруу үчүн API.

Иштеп чыгуучулар алардын буюмунун мындай өзгөчөлүктөрүн белгилешет: жылаңач металлда иштөө ылдамдыгы менен салыштырууга боло турган жогорку өндүрүмдүүлүк, типтүү система жана Rust тилинин параллелизм модели тарабынан берилген эң сонун масштабдуулук жана ишенимдүүлүк.

Репозиторийде 500дөн ашык катышуучу бар, анын ичинде AWS, Azure, Comcast, Dropbox жана Facebook өкүлдөрү. Токионун көз карандылыктары төмөнкүлөрдү камтыйт:

  • hyper: Rust үчүн HTTP/1 жана HTTP/2 тез жана коопсуз ишке ашыруу;
  • warp: жеңил алкак үчүн веб сервер, жумуштун жогорку ылдамдыгына багытталган;
  • трассинг: асинхронияны эске алуу менен колдонмо деңгээлиндеги чалгындоо жана диагностика үчүн негиз;
  • rdbc: MySQL, Postgres жана SQLite маалымат базаларын Rust программалоо тилиндеги продуктыларга туташтыруу үчүн китепкана;
  • байт: Байттарды башкаруу үчүн утилиталар, анын ичинде эффективдүү байт буферлери.

Source: opennet.ru

DDoS коргоосу, VPS VDS серверлери бар сайттар үчүн ишенимдүү хостинг сатып алыңыз 🔥 DDoS коргоосу, VPS VDS серверлери бар ишенимдүү веб-сайт хостингин сатып алыңыз | ProHoster