Выбор сервера приложения с открытым исходным кодом для Java [закрытый] EE

6
задан Arjan Tijms 12 April 2013 в 21:02
поделиться

5 ответов

Я действительно рекомендую использовать GlassFish. Помимо вашего опыта, он использует сетевую инфраструктуру NIO ( Grizzly ), которая поддерживает очень большое количество одновременных подключений.

В основном мы используем JBoss, и я могу сказать, что JBoss5 также может поддерживать довольно большое количество подключений (насколько мне известно, он также использует коннектор на основе NIO).

Существует также контейнер EJB под названием Resin , который является частично открытым исходным кодом (в основном у них есть версия с открытым исходным кодом и закрытая версия). Люди говорят, что у него отличная производительность, но у меня нет возможности исследовать дальше.

И последнее: вы уверены, что хотите использовать контейнер JavaEE EJB? Фактически мы начали с контейнера JavaEE EJB, но из-за наших требований к производительности и т. Д. Сейчас мы пытаемся перейти на Tomcat + Spring. EJB имеет ограничение на потоковую модель и т. Д., Что может стать нежелательным ограничением, если у вас есть клиенты, отличные от веб-браузеров ...

До JavaEE5 у вас есть только этот "TimerService" для выполнения периодических задач и JMS для выполнения асинхронных вещей, что очень тяжело и может сильно раздражать.

2
ответ дан 8 December 2019 в 12:18
поделиться

Если вы говорите о полной Java EE, то Glassfish.

GFv2.1 надежен, GFv3 еще слишком молод, чтобы сказать, но предлагает новую Java EE 6.

Активно разрабатывается, бесплатная и коммерческая поддержка, хорошие форумы. Oracle опубликовала дорожную карту для этого.

Он прост в использовании, легко настраивается, хорошо организован. Отличная консоль.

Действительно хорошо задокументировано, огромное количество дополнительных документов и статей от людей, работающих с различными аспектами этого (Metro, Grizzly, JAX-RS, NetBeans и т. Д.).

NetBeans + Glassfish - это безболезненная готовая к работе возможность получить начал.

Предлагает кластеризацию и всевозможные варианты управления.

2
ответ дан 8 December 2019 в 12:18
поделиться

Мои текущие мысли:

  • Маленький, быстрый для начала и простой: Jetty
  • Большая и надежная и очень большая база знаний пользователи: Tomcat
  • Снова больше, больше возможностей, хорошая корпоративная поддержка, медленнее запускается: JBoss

Все могут поддерживать большие базы пользователей, и все подходят для 95% случаев использования хорошо.

Я бы начал по умолчанию сверху и двигался вниз по списку по мере усложнения ситуации / требований, например. сколько поддержки Java EE вам нужно

Также, если вы будете осторожны, чтобы не использовать какие-либо пользовательские функции, изменение в более поздний момент должно быть относительно простым.

Это основано исключительно на моем личном опыте и немного упрощено - об этом можно писать книги!

7
ответ дан 8 December 2019 в 12:18
поделиться

Если вам действительно нужна Java EE (строго говоря), то JBoss - хороший вариант. Если вам не нужна настоящая Java EE, тогда вам пригодится Tomcat. SpringSource также предоставляет корпоративную версию Tomcat с поддержкой под названием tc Server , которая будет хорошим вариантом, если вам не нужна настоящая Java EE.

3
ответ дан 8 December 2019 в 12:18
поделиться

Если вы ищете сервер Java EE, у вас есть два варианта: GlassFish или JBoss (У Geronimo или Jonas слишком маленькие сообщества, и я не знаю серьезных ссылок на них - что не значит, что их нет - я бы не стал их выбирать). Обе являются серьезными платформами, поддерживают кластеризацию и высокую доступность и используются для создания крупномасштабных кластеров и предлагают коммерческую поддержку, если это имеет значение.

Теперь краткий обзор различных версий:

  • JBoss AS 5.1: Сертифицировано для Java EE 5.Поддерживает HA, кластеризацию , поставляется с консолью администратора, если вы не сторонник XML (но пока не поддерживает настройку кластера через консоль)
  • GlassFish v2.1: сертифицирован для Java EE 5. Поддерживает HA, кластеризацию, лучшую административную консоль, чем JBoss 5.1 (особенно для настройки кластера, если это имеет значение), отличный инструмент CLI.
  • GlassFish v3: сертифицировано Java EE 6. Совершенно новый, не поддерживает кластеризацию, централизованное администрирование. Версия 3.0.1 будет выпущена в ближайшее время.
  • JBoss AS 6.0: сертифицировано Java EE 6. Еще не стал общедоступным. Пока не могу сказать много об этом, M2 не может быть представителем окончательной версии.
  • GlassFish v3.1: сертифицировано Java EE 6. Будет добавлено централизованное администрирование / кластеры, высокая доступность / репликация состояния и многое другое. Будет выпущен в этом году. См. Официальную дорожную карту .

В конце концов, если ваш проект не будет запущен в производство до 2011 года, я бы рассмотрел Java EE 6. Если нет, то выберите сервер Java EE 5. В любом случае не основывайте свой выбор только на мнениях в сети. Загрузите оба сервера, настройте кластеры по крайней мере из четырех узлов на двух машинах (это минимум, используйте кластер большего размера, если возможно), запустите тест с репрезентативным доказательством концепции вашего приложения. И не стесняйтесь привлекать людей из JBoss и Oracle, я почти уверен, что они будут рады помочь доказать, что их решение является лучшим :)

Ссылки

Для JBoss взгляните на Bela Доклад Бана Большие кластеры в JBoss (pdf) на JBoss World 2009. Также проверьте сеансы из JBoss World 2010 .Что касается GlassFish, ознакомьтесь с их историями и, более конкретно, в Telco . Свяжитесь с Sun / Oracle и RedHat для получения дополнительных ссылок.

5
ответ дан 8 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: