cyklon to zestaw narzędzi niskiego poziomu sieci, która zapewnia wsparcie dla protokołu HTTP 1.1 API, bardzo podobną do tej realizowanej przez serwer WWW Tornado & nbsp; - który został opracowany przez FriendFeed, a później wydany jako open source / wolnego oprogramowania przez Facebook ,
Najważniejsze różnice między Cyclone i Tornado
- Cyklon jest oparty na skręcenie, a więc może być używany jako protokół usługa dla połączeń z inną protokołu realizowanego w układzie skręconym.
- Localization bazuje na standardowym Gettext zamiast realizacji CSV w pierwotnym Tornado. Ponadto, obsługuje pluralization dokładnie jak Tornado robi.
- Statki to z asynchronicznym klienta HTTP na podstawie TwistedWeb, jednak jest to w pełni kompatybilny z jednej dostarczonych przez Tornado - który jest oparty na pycurl. (Kod serwer HTTP nie jest oparta na TwistedWeb, z kilku powodów)
- Natywna obsługa XMLRPC i JsonRPC. (Zobacz demo RPC)
- Klasa protokół WebSocket jest jak każdy inny Twisted protokół (tj: LineReceiver; zobacz demo WebSocket)
- Wsparcie dla wysyłania wiadomości e-mail w oparciu o Twisted Mail, z uwierzytelnianiem i TLS, a także łatwy sposób na tworzenie zwykły tekst lub HTML wiadomości i załączników. (Zobacz demo e-mail)
- Wbudowane wsparcie dla Redis, na podstawie txredisapi. Zwykle potrzebujesz serwer buforowania w pamięci jak memcache dla aplikacji internetowych. Jednak wolimy Redis ponad memcache ponieważ obsługuje więcej funkcji takich jak PubSub, różne typy danych, takie jak zestawy, hashe (python dict) i pamięci trwałej. Zobacz demo Redis szczegóły.
- Wsparcie dla autoryzacji HTTP. Zobacz demo uwierzytelniania szczegóły
Korzyści z bycia Protokół Twisted
- Łatwe wdrażanie aplikacji, wykorzystujących Twistd.
- Wsparcie RDBM poprzez: twisted.enterprise.adbapi.
- NoSQL wsparcie dla MongoDB (TxMongo) oraz Redis (TxRedisAPI).
- Może łączyć wiele więcej funkcjonalności w ramach serwera WWW: wysyłanie e-maili, komunikowania się z brokerów wiadomości, itd ...
- Integracja z istniejących projektów opartych łatwo skręcone
- Wykorzystuje wszystkie protokoły Twisted
Benchmarki
Niektóre z najbardziej popularnych ram Python internetowej zostały przetestowane z prostym "Hello World" aplikacji w celu porównania wydajności przeciwko Cyclone.
Wszystkie testy przeprowadzono stosując ApacheBench 100000 (ab -n 25 -c http: // host). Wszystkie serwery jednowątkowy proces, bez pełnomocnictw pomiędzy. Django badano również, wykorzystując zarówno mod_pythona i WSGI - ale wyniki nie są publikowane, ponieważ być może brakowało nam dodatkowe konfiguracje lub strojenia, które doprowadziły do złej wydajności
Wymagania :.
- Python
Komentarze nie znaleziono