Подтвердить что ты не робот

Насколько масштабируемым является Grails?

Я ищу сделать сайт, который, вероятно, получит какой-то тяжелый, повторяющийся трафик. Достигает ли высота грайла?

4b9b3361

Ответ 1

Я согласен с lael, также потому, что он построен на Java-технологиях, существует множество проверенных возможностей кластеризации и "enterpriseisey", которые позволяют легко масштабировать различные службы приложений.

Облачные инструменты вокруг Grails также становятся очень хорошими и позволяют легко внедряться в облако, например EC2. Недавно я использовал Cloud Foundry и нашел его очень хорошим.

Однако, как отмечает первый плакат, вы можете написать плохо выполняющее приложение в любой фреймворке/языке. Одна вещь, которую я бы рекомендовал, - это хорошее понимание Hibernate, которое является основной библиотекой сохранения. Если вы понимаете, как это работает, это должно помочь вам избежать глупых ошибок на уровне БД. С этой стороны инструмент, подобный p6spy, отлично подходит для проверки того, что в базе данных используется при нормальном использовании. Это должно помочь вам определить любые повторяющиеся запросы.

Ответ 2

Масштабируемость вашего веб-приложения не будет зависеть от того, какой язык/структура вы предпочитаете использовать, а скорее о том, как ваше приложение построено. Вы можете создать масштабируемое веб-приложение в Grails, так же, как вы можете создать невероятно медленное приложение на С++. Если Grails - это структура, которую вы хотели бы использовать, используйте ее; вы всегда можете переписать медленные части на Java или другой быстрый язык, если потребуется. (В конце концов, это то, что сделал Twitter с Scala.)


Отказ от ответственности: я никогда не использовал Grails.

Ответ 3

Grails - это, по сути, тонкий слой поверх Spring Framework, который многие считают очень масштабируемой структурой в корпоративном мире. Spring + Hibernate стал стандартом во многих магазинах Java по всему миру.

Если вы столкнулись с узкими местами производительности в Groovy, вы всегда можете переписать эти части в Java.

Взгляните на Истории успеха на примерах сайтов, написанных в Grails. Testamonials также являются хорошим местом для поиска примеров. Вы будете использовать немного больше памяти (heap и permgen), чем Java-приложение, но вы можете настроить его так же, как и любое другое приложение Java.

В нижнем конце вы не найдете опций хостинга $3/month, которые вы могли бы с помощью PHP-стека (например). Тем не менее, есть несколько хороших решений для кеширования приложений Grails EhCache, MemCache и т.д. Помимо этого вы также можете настроить уровень Apache для кэширования статических ресурсов или всего, что вам нужно.

Ответ 4

Не собирайтесь сюда. У вас уже есть отличные ответы, но я просто хочу добавить, что мне недавно напомнили. Масштабируемость зависит не только от программного обеспечения, которое вы пишете (независимо от языка/структуры), но и от среды развертывания. Очень хорошо написанное приложение, развернутое на низком или плохо сконфигурированном сервере, не будет масштабироваться вообще. Если вы используете Grails или любую другую платформу на основе Java, настройки по умолчанию на вашем контейнере (Tomcat, JBoss и т.д.), Вероятно, не будут тем, что вам нужно.

Просто что-то иметь в виду, Дейв

Ответ 5

Grails запускается на JVM. Проще говоря, вы не найдете более масштабируемой, надежной и надежной платформы исполнения, чем JVM, где бы то ни было. Это Grails большое преимущество перед, скажем, PHP или RoR.