Просто шикарный инструмент, использую в проектах достаточно часто,
даже выделилось несколько небольших отдельных решений в т.ч написанный
на нем OpenID сервер, система гибко управляемого стриминга (на ней
чувствуется питоний оверхед, но это как раз не самое страшное зло).
Также часто применяю как интерфейсную обертку к разным инфраструктурным скриптам, например сбора статистика по результатам работы воркеров celery, анализ логов, логистика файловых хранилищ, и т.д.Развертывание максимально незатейливое - supervisord, nginx.Из отмеченных плюсов самый важный, на мой взгляд, что Tornado подталкивает к правильной, особенно с учетом нюансов питоновского интерпретатора, масштабируемой архитектуре из однопоточных воркеров.
Из сложностей с которыми я сталкиваюсь - обязательно нужно уделять отдельное внимание тому, что и как сохраняется или накапливается в стейте воркера, какие ресурсы являются общими и как они используются/утилизуются. При небрежном отношении к вопросу естественным образом будет течь и дурить.
Inline callback-и часто ведут себя странно, создавая тормоза на ровном месте. Многие из асинхронных драйверов к БД сыроваты.
Еще нужно четко осознавать, что фактически имеет место псевдоасинхронность, то есть к http I/O и записи в файл лога нужно подходить по разному и нет смысла оборачивать в асинхронку заведомо легкие I/O операции, так как это усложняет код и оверхед асинхронного вызова может сильно перевешивать продолжительность блокировки. При этом нужно проработать сценарии, когда блокирующий I/O может локнуться и постараться, чтобы операция отваливалась как можно быстрее с явной ошибкой.
Наиболее детальная информация о фреймворке как правило находится или образуется в процессе общения в соответствующей google группе http://groups.google.com/group...
http://disqus.com/disqus_l25kyPLwzV/
Также часто применяю как интерфейсную обертку к разным инфраструктурным скриптам, например сбора статистика по результатам работы воркеров celery, анализ логов, логистика файловых хранилищ, и т.д.Развертывание максимально незатейливое - supervisord, nginx.Из отмеченных плюсов самый важный, на мой взгляд, что Tornado подталкивает к правильной, особенно с учетом нюансов питоновского интерпретатора, масштабируемой архитектуре из однопоточных воркеров.
Из сложностей с которыми я сталкиваюсь - обязательно нужно уделять отдельное внимание тому, что и как сохраняется или накапливается в стейте воркера, какие ресурсы являются общими и как они используются/утилизуются. При небрежном отношении к вопросу естественным образом будет течь и дурить.
Inline callback-и часто ведут себя странно, создавая тормоза на ровном месте. Многие из асинхронных драйверов к БД сыроваты.
Еще нужно четко осознавать, что фактически имеет место псевдоасинхронность, то есть к http I/O и записи в файл лога нужно подходить по разному и нет смысла оборачивать в асинхронку заведомо легкие I/O операции, так как это усложняет код и оверхед асинхронного вызова может сильно перевешивать продолжительность блокировки. При этом нужно проработать сценарии, когда блокирующий I/O может локнуться и постараться, чтобы операция отваливалась как можно быстрее с явной ошибкой.
Наиболее детальная информация о фреймворке как правило находится или образуется в процессе общения в соответствующей google группе http://groups.google.com/group...
http://disqus.com/disqus_l25kyPLwzV/
Комментариев нет:
Отправить комментарий