Eski bir soruyu cevapladığım için üzgünüm ama buna rastladım ve neden daha fazla cevabı olmadığını merak ettim. Bart J'nin sorusuna cevap vermek için:
Tornado uygulamasında RSS beslemelerini ayrıştırmak istiyorum. Bunun hesaplama açısından oldukça yoğun olduğunu düşünüyor musunuz?
Bu, ne tür bir ayrıştırma yaptığınıza ve hangi donanıma bağlı olduğuna bağlıdır :) Uzun süre uzun bir süredir, bu nedenle uygulamanızın yanıt vermesi yarım saniyeden fazla sürerse, yavaş görünecektir - uygulamanızın profilini çıkarın.
Hızlı sistemlerin anahtarı harika mimaridir, örneğin hangi çerçeveyi kullandığınız kadar spesifik değildir (Twisted, Tornado, Apache + PHP). Tornado'nun eşzamansız bir işleme stili var ve bence çoğu da buna bağlı. Node.js, Twisted ve Yaws, hafif bir yaklaşım ve eşzamansız işleme stili nedeniyle çok iyi ölçeklenen diğer eşzamansız web sunucularının örnekleridir.
Yani:
Tornado ne zaman kullanılmalıdır?
Ne zaman işe yaramaz?
Tornado, gelen bir istemciye yanıt verebildiği, bir istek işleyicisi gönderebildiği ve sonuç geri araması olay kuyruğunda basılıncaya kadar o istemciyi düşünmediği için birçok bağlantıyı idare etmek için iyidir. Bu nedenle, bu özel kalite için Tornado, çok sayıda talebi ele alırken iyi ölçeklendirmek istediğinizde kullanılmalıdır. Eşzamansız işlem, işlevsel ayrıştırmayı ve paylaşılmayan veri erişimini kolaylaştırır. Bu, REST veya diğer Hizmet Odaklı Mimariler gibi devletsiz tasarımlarla gerçekten iyi sallanır . Ayrıca, iş parçacığı veya süreçlerin doğuştan gelen ek yükü ile çok fazla uğraşmak zorunda değilsiniz ve bazı kilitleme / IPC sorunlarından kurtulabilirsiniz.
Öte yandan, arka uç ve / veya veri deponuzun istekleri işlemesi uzun sürerse, Tornado pek bir fark yaratmayacaktır. Özellikle eş zamanlı tasarımlar ve Web servislerinin yapılmasına yardımcı olur. Eşzamanlı mimari, tasarımınızı ölçeklendirmeyi ve bağlantıyı düşük tutmayı kolaylaştırır. En azından Tornado ile olan deneyimim bu.