哪个java webserver最适合这里?

时间:2009-09-21 20:43:45

标签: web-applications glassfish webserver jetty httpserver

我正在开发一个包含以下3个组件的简单Web应用程序:

  1. 使用Ajax,javascript,html在浏览器上显示数据的客户端。
  2. 在客户端和数据处理实体之间进行接口的Java Web服务器。
  3. 数据处理实体,用C ++实现。
  4. 我需要决定使用哪个java webserver。一些选项是:

    a)在java(com.sun.net.httpserver)中使用httpserver类并创建一个多线程进程。

    b)使用Glassfish服务器并在其上部署创建网页的应用程序

    c)使用Jetty。

    d)?

    网络服务器的选择标准是:

    1. 稳定性(进程(Web服务器)应运行数天而不重新启动)

    2. 可能的最大并发请求数约为200.平均情况约为30。

    3. 缓存在网络服务器上完成,如果数据可用或数据处理实体未标记为脏,则从网络服务器本身提供请求。

    4. 非常感谢您的建议。

      谢谢。 罗恩。

4 个答案:

答案 0 :(得分:5)

不要使用Java的Http Server类。

Glassfish很不错,但可能比你需要的还多。

Jetty工作得很好。

请注意,如果您正在使用C ++并使用JNI与Jav​​a进行交互,则任何seg故障都将终止整个服务器(与纯Java中的异常相似,这只会终止请求并且容器可以恢复)。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

我使用Resin已有好几年了,推荐它非常好且稳定。

答案 3 :(得分:0)

我会选择Tomcat