Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Какой веб-сервер Java здесь наиболее подходит?

Автор вопроса: sbrОтветов: 4

Я разрабатываю простое веб-приложение, которое содержит эти 3 компонента:

  1. клиент, который использует Ajax, javascript, html для отображения данных в браузере.
  2. Веб-сервер Java, который взаимодействует между клиентом и объектом обработки данных.
  3. объект обработки данных, реализованный на C++.

Мне нужно решить, какой веб-сервер Java использовать. Вот некоторые варианты:

а) используйте класс httpsserver в java (com.sun.net.httpserver) и создайте многопоточный процесс.

б) использовать сервер Glassfish и развернуть на нем приложение, создающее веб-страницу и т. д.

в) использовать причал.

d) ?

Критерии выбора веб-сервера:

  1. Стабильность (процесс (веб-сервер) должен работать несколько дней без перезагрузки)

  2. Максимально возможные одновременные запросы составляют около 200, а в среднем около 30.

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

Ваши предложения очень ценятся.

Благодарю вас. Рон.

  • если компонент обработки данных написан на C++, зачем вам java-сервер? skaffman 22.09.2009
  • спасибо скафман. знаете ли вы о методе создания стабильного HTTP-сервера на C++? должен поддерживать Ajax sbr 22.09.2009
  • Возможно, вы захотите исправить свои теги, так как, судя по вашим ответам, ключевые слова теперь очень неверны. James Black 22.09.2009
  • Я не человек .net, но я предполагаю, что сервер приложений .net был бы лучшим выбором для упаковки модуля C++, не так ли? skaffman 22.09.2009

web-applicationsjettyhttpserverwebserverglassfish

Ответы

Ответ 1 · рейтинг 5 · Will Hartung

Не используйте класс HTTP-сервера Java.

Glassfish хорош, но, вероятно, больше, чем вам нужно.

Пристань будет работать нормально.

Имейте в виду, что если вы используете C++ и используете JNI для взаимодействия с Java, любые сбои сегмента убьют весь сервер (по сравнению с исключением в чистой Java, которое просто убьет запрос, и контейнер сможет восстановиться).

Ответ 2 · рейтинг 1 · OscarRyz

Я использовал Resin в течение нескольких лет, и он очень хорош и стабилен, рекомендуется на 100 %.

Ответ 3 · рейтинг 1 · James Black

Tomcat сможет это сделать, но вы должны указать требования на стороне java. Например, используете ли вы какую-либо функциональность J2EE?

Для кеширования вам понадобится что-то вроде кеша JBoss?

Используете ли вы JNI для взаимодействия Java с серверной частью C++, или используете ESB, или какой-то другой подход?

Какой тип данных кэшируется?

Обновление: исходя из вашей информации, я бы предложил не использовать Java, а использовать для этой связи сервер на основе C++ TCP. Таким образом, у вас не будет проблем с интерфейсом JNI/C++. Вы можете довольно легко написать сервер C++, и если вы используете библиотеки Boost, вы будете близки к новой спецификации C++. Темы вы можете посмотреть на: http://www.boost.org/doc/libs/1_40_0/doc/html/thread.html

Ответ 4 · Pablo Santa Cruz

Я бы выбрал Tomcat.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы