Насколько масштабируема комета/обратный ajax фреймворка Lift?

Недавно я изучил scala и собираюсь начать работать/изучать фреймворк Lift. Просматривая функции и приступая к работе с фреймворком, я увидел некоторые удивительные возможности фреймворка, включая обратный ajax и комету. Ранее в моем опыте у меня был очень плохой опыт с обратным ajax, который никогда не масштабировался. Если я выберу фреймворк для какой-либо разработки, это будет причиной. Мой вопрос заключается в том, насколько зрелыми являются технология и продукт и насколько масштабируемы они с помощью подъема на tomcat? По сравнению со спецификацией сервлета 3.0, какой из них лучше для этой цели, дождаться спецификации сервлета 3.0 или начать использовать лифт?


person Teja Kantamneni    schedule 14.02.2010    source источник


Ответы (1)


Обратный AJAX это Comet. Это просто два разных названия одного и того же. Что касается корня вашего вопроса...

Масштабируемость поддержки Comet в Lift во многом зависит от контейнера сервлетов. Вам действительно нужен контейнер, изначально поддерживающий продолжения. Я хорошо знаком с Джетти, но я уверен, что есть и другие. Имея поддержку продолжения на уровне контейнера, вы можете избежать блокировки потока для каждого клиента, из-за чего возникает большинство проблем с масштабируемостью Comet.

В других областях масштабируемости CometActor Lift представляет собой общую абстракцию вокруг одного клиента с активным длинным опросом. Поскольку эта абстракция является актором, с ней можно работать в рамках существующей инфраструктуры актора (стандартная библиотека Scala для Lift 1.0.x или субъекты Lift для 2.0). Это также позволяет избежать проблемы масштабирования потоков и гарантирует, что ожидающие обновления будут поставлены в очередь упорядоченным образом.

Короче говоря, поддержка Comet от Lift настолько масштабируема, насколько это вообще возможно. Есть, конечно, внутренние накладные расходы, связанные с техникой. Вы никогда не сможете избежать фиксации хотя бы одного сокета для каждого клиента. Тем не менее, Lift (вместе с контейнером с поддержкой продолжений) способен уменьшить любые несущественные накладные расходы прямо из коробки.

person Daniel Spiewak    schedule 15.02.2010