Недавно я изучил scala и собираюсь начать работать/изучать фреймворк Lift. Просматривая функции и приступая к работе с фреймворком, я увидел некоторые удивительные возможности фреймворка, включая обратный ajax и комету. Ранее в моем опыте у меня был очень плохой опыт с обратным ajax, который никогда не масштабировался. Если я выберу фреймворк для какой-либо разработки, это будет причиной. Мой вопрос заключается в том, насколько зрелыми являются технология и продукт и насколько масштабируемы они с помощью подъема на tomcat? По сравнению со спецификацией сервлета 3.0, какой из них лучше для этой цели, дождаться спецификации сервлета 3.0 или начать использовать лифт?
Насколько масштабируема комета/обратный ajax фреймворка Lift?
Ответы (1)
Обратный AJAX это Comet. Это просто два разных названия одного и того же. Что касается корня вашего вопроса...
Масштабируемость поддержки Comet в Lift во многом зависит от контейнера сервлетов. Вам действительно нужен контейнер, изначально поддерживающий продолжения. Я хорошо знаком с Джетти, но я уверен, что есть и другие. Имея поддержку продолжения на уровне контейнера, вы можете избежать блокировки потока для каждого клиента, из-за чего возникает большинство проблем с масштабируемостью Comet.
В других областях масштабируемости CometActor
Lift представляет собой общую абстракцию вокруг одного клиента с активным длинным опросом. Поскольку эта абстракция является актором, с ней можно работать в рамках существующей инфраструктуры актора (стандартная библиотека Scala для Lift 1.0.x или субъекты Lift для 2.0). Это также позволяет избежать проблемы масштабирования потоков и гарантирует, что ожидающие обновления будут поставлены в очередь упорядоченным образом.
Короче говоря, поддержка Comet от Lift настолько масштабируема, насколько это вообще возможно. Есть, конечно, внутренние накладные расходы, связанные с техникой. Вы никогда не сможете избежать фиксации хотя бы одного сокета для каждого клиента. Тем не менее, Lift (вместе с контейнером с поддержкой продолжений) способен уменьшить любые несущественные накладные расходы прямо из коробки.