Przepraszam, że odpowiedziałem na stare pytanie, ale natknąłem się na to i zastanawiałem się, dlaczego nie ma więcej odpowiedzi. Aby odpowiedzieć na pytanie Barta J.
Chciałbym przeanalizować kanały RSS w aplikacji Tornado. Czy uznałbyś to za dość wymagające obliczeń?
Cóż, to zależy od tego, jakiego rodzaju parsowanie wykonujesz i na jakim sprzęcie :) Długi czas to dużo czasu, więc jeśli twoja aplikacja potrzebuje więcej niż pół sekundy na odpowiedź, będzie się wydawać powolna - profiluj swoją aplikację.
Kluczem do szybkich systemów jest świetna architektura, nie tyle specyfika, co na przykład używany framework (Twisted, Tornado, Apache + PHP). Tornado ma asynchroniczny styl przetwarzania i moim zdaniem do tego właśnie wiele sprowadza się. Node.js, Twisted i Yaws to przykłady innych asynchronicznych serwerów internetowych, które bardzo dobrze skalują się ze względu na lekkie podejście i asynchroniczny styl przetwarzania.
Więc:
Kiedy należy używać Tornado?
Kiedy jest bezużyteczny?
Tornado jest dobre do obsługi wielu połączeń, ponieważ może odpowiadać klientowi przychodzącemu, wysyłać moduł obsługi żądań i nie myśleć o tym kliencie, dopóki wywołanie zwrotne wyniku nie zostanie umieszczone w kolejce zdarzeń. Dlatego w przypadku tej konkretnej jakości Tornado powinno być używane, gdy chcesz dobrze skalować przy obsłudze wielu żądań. Przetwarzanie asynchroniczne ułatwia funkcjonalne oddzielenie i dostęp do danych bez współdzielenia. To bardzo dobrze się kołysze w przypadku projektowania bezstanowego, takiego jak REST lub inne architektury zorientowane na usługi . Nie musisz też tak bardzo zajmować się tworzeniem wątków lub procesów z nieodłącznym narzutem i możesz zaoszczędzić części problemów z blokowaniem / IPC.
Z drugiej strony Tornado nie zrobi dużej różnicy, jeśli twój backend i / lub magazyn danych zajmuje dużo czasu, aby przetworzyć żądania. W szczególności pomaga w wykonywaniu współbieżnych projektów i usług internetowych. Współbieżna architektura ułatwia skalowanie projektu i utrzymuje niski poziom sprzężenia. Przynajmniej takie jest moje doświadczenie z Tornado.