Насколько масштабируемым является комета / обратный Ajax фреймворка Lift? - PullRequest
11 голосов
/ 15 февраля 2010

Я недавно изучил scala и собираюсь начать работать / изучать Lift Framework. Проходя «Возможности» и приступая к работе с фреймворком, я увидел некоторые удивительные возможности фреймворка, включая обратный ajax и комету. Раньше по моему опыту у меня был действительно очень плохой опыт с обратным Ajax, который никогда не масштабировался. Если я выберу лифт каркас для любого развития, это будет причиной. Мой вопрос здесь состоит в том, насколько зрелы технология и продукт, и насколько они масштабируемы с использованием lift на tomcat? По сравнению с сервлетом spec 3.0, какой из них лучше для этой цели, подождите, пока сервлет spec 3.0 или начнете использовать lift?

1 Ответ

13 голосов
/ 15 февраля 2010

Обратный AJAX - Комета. Это просто два разных имени для одной и той же вещи. Что касается корня вашего вопроса ...

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

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

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

...