Масштабируемое рубиновое приложение - PullRequest
1 голос
/ 22 августа 2009

Я Java-разработчик и много слышал о ruby. Мой реальный вопрос: можем ли мы разработать крупномасштабное корпоративное (веб) приложение на ruby? Потому что я слышал, что ruby ​​хорош для небольших приложений, но, как и Java, мы не можем разрабатывать крупномасштабные (веб) приложения в ruby.

Ответы [ 6 ]

6 голосов
/ 23 августа 2009

в рубине? Конечно - для большинства значений «предприятия». Когда вы говорите о ruby ​​и веб-приложениях, скорее всего, вы говорите о Ruby On Rails или Merb (это то же самое, что начиная с v3.0 и далее). В любой из этих сред способы масштабирования достаточно хорошо изучены.

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

Чем более «корпоративным» и «масштабируемым» должно быть ваше приложение, тем больше вам придется работать над устранением узких мест, как если бы вы работали с приложением Java.

Новая реликвия содержит довольно много полезных предметов на эту тему, и поиск в Google для "масштабирования рельсов" дает намного больше.

1 голос
/ 16 ноября 2009

Вы действительно задаете два вопроса здесь:

1) Готово ли Ruby Enterprise к сравнению с Java?

Ruby имеет доступ ко всем библиотекам Java, использующим JRuby, если это необходимо, но в Ruby определенно отсутствует надлежащая "чистая" среда сервера приложений, управляемая Ruby, такая как JBoss, Weblogic или Websphere. (+1 для Java)

2) Как Ruby масштабируется по сравнению с Java?

Большая масштабируемость связана с более быстрым поиском узких мест, и в Ruby вы будете разрабатывать намного быстрее, чем в Java, поэтому гораздо быстрее преодолеваете узкие места, что позволяет быстрее оптимизировать ваше приложение. Например, вы сможете оптимизировать свою базу данных намного быстрее с приложением Ruby on Rails по сравнению с приложением Java. (+1 для Рубина)

1 голос
/ 23 августа 2009

При размере «масштабируемого масштабируемого (веб) приложения» вы (почти) всегда зависите от масштабирования БД и интенсивного кэширования, а не от самой платформы, поэтому не имеет значения, какой язык вы используете.

1 голос
/ 23 августа 2009

Это на самом деле зависит от того, что вы подразумеваете под "крупномасштабным" и "предприятием".

Существует книга " Интеграция предприятия с Ruby " о многих вещах, которые вы бы делали в корпоративных настройках. Книга рекомендует низкие церемонии церемонии и нестандартного мышления. Мне это нравится.

0 голосов
/ 17 января 2010

Большинство ответов, которые мы находим в Интернете, являются FUD, и трудно найти ответы в соответствующем контексте. Множество людей подключили свой вагон к той или иной экосистеме и будут обосновывать свое решение, используя любую логику и статистику, какие только могут. Лучшее, что вы можете сделать, это собрать команду ярких / мотивированных людей, и они выберут программный стек, который лучше всего даст им возможность добиться успеха. Если мы посмотрим на веб-сайты, которые имели большой успех за последние 10 лет, мы обнаружим, что языки могут быть разными. Сказав это, приоритетом номер один в каждом стартапе и даже при работе в крупных корпоративных организациях было время выхода на рынок. В то время как многие люди смотрят на масштабируемость и следуют своим выводам, некоторые люди, использующие так называемое программное обеспечение уровня ниже корпоративного, предлагают решение для рынка. Если у вас есть минутка, ознакомьтесь с эссе Пола Грэхема. Он дает хорошее представление об этой теме. Он очень успешно использовал Lisp, кто бы мог подумать об этом в этой дискуссии? В своем эссе он подчеркивает скорость и способность реагировать на изменения. Даже Twitter, столь популярный, каким он стал, представляет собой смесь Scala и Ruby. Я считаю, что в Силиконовой долине многие команды пытаются использовать только один язык, и что вместо этого следует использовать соответствующий язык для конкретной команды и проблему под рукой. Если вы разрабатываете продукт для предприятий, вы будете очень ограничены в том, каким может быть ваш программный стек, но если вы разрабатываете веб-приложение, ориентированное на клиента, мир - это ваша устрица! Вы хотите выбрать стек, который позволит вам и вашей команде перейти от концепции к реальности как можно скорее! УДАЧИ!. OVER.

0 голосов
/ 23 августа 2009

Да, это просто слухи. Я бы не беспокоился об этом слишком сильно. Раньше он был гораздо менее стабильным, но за последние несколько лет он стал намного лучше.

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