GWT для сайта с интенсивным движением - PullRequest
4 голосов
/ 18 июля 2009

Стоит ли использовать Google Web Toolkit для сайта с большим трафиком (что-то вроде Youtube, Hulu). Если нет, то какой фреймворк Java следует использовать?

Ответы [ 5 ]

7 голосов
/ 18 июля 2009

Что вы планируете делать с GWT? Если вы будете показывать огромные видеофайлы, я не думаю, что GWT будет большим всплеском на вашем радаре. Поскольку GWT выполняется на стороне клиента, он не будет загружать процессор на ваши серверы, а фактические генерируемые файлы javascript скомпилированы до минимума необходимого кода и будут крошечными по сравнению даже с одной загрузкой видео .

GWT используется для консоли управления Google AdSense и для Google Wave. Ваш сайт получит больше трафика, чем любой из них? ;) С GWT 2.0 мы должны увидеть еще больший прирост производительности, поскольку методы оптимизации становятся еще лучше.

Этот IO сеанс немного говорит о вытеснении дополнительной производительности из GWT.

3 голосов
/ 18 июля 2009

В рамках оценки рамки уровня представления, мы выполнил нагрузочные тесты для Google Веб-инструментарий. Мы использовали образец приложение DynaTable, поставляется с GWT. Мы развернули DynaTable приложение к серверу Tomcat. Мы записанные тестовые сценарии с использованием Grinder TCPProxy. Методология испытаний описано в этом посте.

http://jroller.com/galina/entry/google_web_toolkit_performance_test

2 голосов
/ 19 июля 2009

Существует множество сайтов высокого класса, использующих Java в качестве фонового. Я использовал PHP, это было давно, но я бы не хотел использовать его для создания веб-сайта с точки зрения тестируемости, удобства обслуживания и безопасности. Это только мои предпочтения.

По сути, GWT предоставляет компоненты на стороне клиента и на стороне сервера. Клиентская сторона не будет вашей главной заботой, когда речь заходит о масштабируемости. Таким образом, решение на стороне клиента - это только вопрос того, будут ли компоненты GWT на стороне клиента предоставлять необходимые вам функциональные возможности и виджеты, либо отдельно, либо в сочетании с наборами инструментов javascript. Загляните в галерею приложений GWT , чтобы увидеть, что люди делают с ней.

Компоненты GWT на стороне сервера оборачивают обычные сервлеты для асинхронного обслуживания Ajax и будут работать в большинстве любых механизмов Java-сервлетов. У меня есть небольшой веб-сайт на основе GWT на VPS, и серверная часть GWT работает под управлением Tomcat.

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

Кроме того, вы можете создать свое приложение GWT и обслуживать его из Google App Engine , что позволит вам легко поддерживать сообщество любого размера, которое вы захотите. Со страницы:

"Разработчики App Engine теперь могут приобретать дополнительные вычислительные ресурсы сверх пределов бесплатной квоты. Масштабируйте свое приложение для миллионов пользователей и платите только за то, что вы используете. App Engine всегда будет свободен для начала, поэтому вы можете попробовать его с без риска. "

1 голос
/ 19 июля 2009

Ваша самая большая проблема с таким количеством клиентов - это правильное кодирование серверной части, а не интерфейсной части. Все топовые сайты (facebook, youtube, myspace) используют PHP в качестве бэкэнда, поэтому я думаю, что есть что сказать об использовании этого через Java, с чем-то вроде memcache на заднем плане. Это более легкая память и намного более масштабируемая, не затрачивая на это огромное количество оборудования.

Все, что говорит GWT, хорошо для внешнего интерфейса, потому что вы должны помнить, даже если у вас есть 1 миллион клиентов, весь код выполняется на стороне клиента, поэтому все, о чем вам следует беспокоиться, это отправка пакетов RPC на ваш сервер.

1 голос
/ 18 июля 2009

С точки зрения производительности, GWT довольно хорошо - и если вам абсолютно необходимо выжать еще несколько миллисекунд, Java-часть не имеет к этому никакого отношения: скорее, вам нужно обслуживать хорошо кодированный Javascript (возможно, с использованием сильная структура, такая как додзё или jquery).

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

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