Wicket: «большой объем памяти!», «Масштабируется ли Wicket?» И т. Д. - PullRequest
2 голосов
/ 26 мая 2011

Wicket активно использует Session, что может означать «большой объем памяти» (как утверждают некоторые разработчики) для больших приложений с большим количеством страниц.Если бы вы объяснили нескольким техническим директорам из Fortune 500, что они должны принять Apache Wicket для своих крупных развертываний веб-приложений и что их опасения по поводу проблем с масштабированием Wicket - это просто неверные предположения;что бы вы поспорили?

PS:

  • Вопрос касается только масштабирования.
  • Технические детали и примеры из реальной жизни приветствуются.

Ответы [ 3 ]

6 голосов
/ 26 мая 2011

Доверие IMO к Apache Wicket в очень крупномасштабном развертывании удовлетворяется следующим URL: http://mobile.walmart.com Просмотр источника.

См. Также http://mexico.com, http://vegas.com,http://adscale.de, и посмотрите эти домены с помощью alexa, чтобы увидеть их рейтинг.

Итак, да, вполне возможно создавать приложения для работы в Интернете с использованием Wicket.Но независимо от того, используете ли вы Wicket, Struts, SpringMVC или просто старые JSP: разработка программного обеспечения в масштабах интернета сложная .Никакая структура не может сделать это легко для вас.Ни одна инфраструктура не может предоставить вам программное обеспечение с мастером «следующий следующий следующий финиш», который обслуживает пользователей 5M.

4 голосов
/ 26 мая 2011

Ну, прежде всего, объясните, откуда исходит след, и это в основном PageMap.

Следующим шагом будет объяснение того, что делает карта страницы, для чего она и какие проблемы она решает (например, кнопки «Назад» и всплывающие диалоговые окна). Проблемы, которые придется решать вручную, при аналогичных затратах памяти, но при гораздо больших затратах на разработку и повышении риска.

И, наконец, скажите им, как вы можете повлиять на то, что происходит на карте страницы, в кэш вторичной страницы и, таким образом, как можно контролировать размер.

Очевидно, что вы также можете показать им тесты, но, возможно, еще лучше сделать ставку на Мартина Дашорста (хотя я думаю, что он все равно читает этот пост:)).

В любом случае, я бы попробовал поставить две точки:

  1. В памяти нет никаких хранилищ калитки, которые вам бы не пришлось хранить в памяти. Это просто лучше организовано, легче разрабатывать, поддерживать согласованность и тестировать.
  2. Сама Java означает, что вы постоянно несете некоторый неизбежный сверхнормативный багаж. Если они так беспокоятся о своем следе, возможно, Java вовсе не тот язык, который они хотят использовать. Существуют сотни сайтов с большим трафиком, написанных на других языках, так что это вполне работоспособное решение. Худшее, что они могут сделать, - это пойти с Java, взять на себя сверхнормативный багаж, а затем , а не использовать преимущества, которые предоставляются с расширенными возможностями.
1 голос
/ 26 мая 2011

Wicket сохраняет последние N страниц в сеансе.Это сделано для того, чтобы загружать страницу быстрее, когда это необходимо.Это необходимо в основном в двух случаях - с помощью кнопки возврата браузера или в приложениях Ajax.Кнопка возврата понятна, объяснять не нужно, я думаю.О Ajax - каждому ajax-запросу нужна текущая страница (последняя страница в кэше сеанса), чтобы найти в нем компонент и вызвать его метод обратного вызова, обновить некоторую модель и т. Д. От их размера сеанса полностью зависит от кода вашего приложения.Это будет то же самое для любого веб-фреймворка.Количество страниц для кэширования (N выше) настраивается, т. Е. В зависимости от типа вашего приложения вы можете настроить его по своему усмотрению.Даже если нет кэша памяти (N = 0), страницы сохраняются на диске (снова настраиваются), и страница будет снова найдена, просто она будет немного медленнее.

О некоторых ссылках:

  1. http://fabulously40.com/ - социальная сеть с большим количеством пользователей,
  2. несколько образовательных сайтов - я знаю два в США и один в Нидерландах.У них также довольно много пользователей,
  3. В настоящее время я работаю над проектом, который предполагается использовать несколькими миллионами пользователей.Калитка 1.5 будет улучшена везде, где мы находим горячие точки.

Отправьте это своему техническому директору; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...