bagyo ay isang toolkit mababang antas ng network, na nagbibigay ng suporta para sa mga HTTP 1.1 sa isang API na halos kapareho sa isa ipinatupad ng mga Buhawi web server & nbsp; - na ay binuo ng FriendFeed at mas bago inilabas bilang open source / free software sa pamamagitan ng Facebook .
Key pagkakaiba sa pagitan ng bagyo at Buhawi
- Bagyo ay batay sa baluktot, kaya maaari itong gamitin bilang isang webservice protocol para sa pagkakabit ng anumang iba pang mga protocol na ipinapatupad sa baluktot.
- Lokalisasyon ay batay sa mga karaniwang Gettext sa halip na ang pagpapatupad ng CSV sa orihinal na Buhawi. Bukod dito, sinusuportahan ito ng pluralization nang eksakto tulad ng Buhawi ginagawa.
- Nag-barko na may asynchronous HTTP client batay sa TwistedWeb, gayunpaman, ito ay ganap na tumutugma sa isang ibinigay ng Buhawi - na kung saan ay batay sa PyCurl. (Ang HTTP server na code ay HINDI batay sa TwistedWeb, para sa ilang mga dahilan)
- Katutubong suporta para sa XMLRPC at JsonRPC. (Tingnan ang demo RPC)
- Klase WebSocket protocol ay tulad ng anumang iba pang mga baluktot Protocol (ibig sabihin: LineReceiver; makita ang websocket demo)
- Suporta para sa pagpapadala ng e-mail batay sa baluktot Mail, na may authentication at TLS, kasama ang isang madaling paraan upang lumikha ng mga plain text o HTML mga mensahe, at mga attachment. (Tingnan ang e-mail demo)
- Built-in na suporta para sa Redis, batay sa txredisapi. Karaniwang Kailangan namin ng in-memory cache ng server tulad ng memcache para sa mga web application. Gayunpaman, gusto namin redis sa paglipas ng memcache dahil sinusuportahan ito ng higit pang mga pagpapatakbo tulad ng PubSub, iba't ibang mga uri ng data tulad ng mga hanay, hash (python dict), at paulit-ulit na imbakan. Tingnan ang redis demo para sa mga detalye.
- Suporta para sa Pagpapatotoo ng HTTP. Tingnan ang demo na pagpapatotoo para sa mga detalye
Mga kalamangan ng pagiging isang baluktot Protocol
- Madaling pag-deploy ng mga application, gamit twistd.
- RDBM suporta sa pamamagitan ng: twisted.enterprise.adbapi.
- NoSQL suporta para sa MongoDB (TxMongo) at Redis (TxRedisAPI).
- Maaaring pagsamahin ang maraming iba pang mga pag-andar sa loob ng webserver: pagpapadala ng mga email, pakikipag-ugnayan sa broker mensahe, atbp ...
- Sumasama sa umiiral na Napilipit batay sa mga proyektong madali
- Ginagamit ng lahat ng baluktot protocol
Benchmarks
Ang ilan sa mga pinaka-popular na Python web Framework na nasubukan na may isang simpleng "hello mundo" application upang ihambing ang pagganap laban sa bagyo.
Ang lahat ng mga pagsubok na isinagawa gamit ang ApacheBench (AB -n 100000 -c 25 http: // host). Lahat ng mga server ay proseso ng pag-iisang-may sinulid, na walang proxy sa pagitan. Django Sinubukan din, gamit ang parehong mod_python at WSGI - ngunit ang mga resulta ay hindi nai-publish dahil marahil hindi nasagot na namin ang dagdag na mga configuration o tuning na humantong sa hindi magandang pagganap
Mga Kinakailangan :.
- Python
Mga Komento hindi natagpuan