哪种 Java Web 服务器最适合这里?

发布于 2024-08-05 13:33:12 字数 575 浏览 7 评论 0原文

我正在开发一个简单的 Web 应用程序,其中包含这 3 个组件:

  1. 使用 Ajax、javascript、html 在浏览器上显示数据的客户端。
  2. Java Web 服务器是客户端和数据处理实体之间的接口。
  3. 数据处理实体,用C++实现。

我需要决定使用哪个java网络服务器。一些选项是:

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

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

c) 使用码头。

d) ?

Web服务器的选择标准是:

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

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

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

非常感谢您的建议。

谢谢。 罗恩.

I am developing a simple web application which contains these 3 components:

  1. client that uses Ajax,javascript, html to display data on the browser.
  2. Java webserver that interfaces between the client and data processing entity.
  3. data processing entity, implemented in C++.

I need to decide which java webserver to use. Some options are:

a) use httpserver class in java (com.sun.net.httpserver) and create a multi-threaded process.

b) use Glassfish server and deploy the application on it that creates the webpage,etc.

c) use Jetty.

d) ?

The selection criteria for webserver is:

  1. Stability ( The process(web server) should run for days without restart)

  2. Maximum concurrent requests possible are about 200. and average case is about 30.

  3. Caching is done at the webserver and requests are served from the webserver itself if data is available or not marked dirty by the data processing entity.

Your suggestions are greatly appreciated.

Thank You.
Ron.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

南薇 2024-08-12 13:33:12

不要使用 Java 的 Http Server 类。

Glassfish 很好,但可能超出您的需要。

Jetty 会工作得很好。

请注意,如果您使用 C++ 并使用 JNI 与 Java 交互,任何 seg 错误都会终止整个服务器(与纯 Java 中的异常不同,它只会终止请求并且容器可以恢复)。

Don't use Java's Http Server class.

Glassfish is nice, but probably more than you need.

Jetty will work just fine.

Be aware that if you're using C++ and using JNI to interface with Java, any seg faults will kill the entire server (vs like an exception in pure Java, which will just kill the request and the container can recover).

左秋 2024-08-12 13:33:12

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

I used Resin for several years, and it is very good and stable 100% recommended.

最冷一天 2024-08-12 13:33:12

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

Tomcat would be able to do this, but you should specify the requirements on the java side. For example, are you using any J2EE functionality?

For caching, would you need something like JBoss cache?

Are you using JNI for interfacing the Java to the C++ backend, or using an ESB, or some other approach?

What type of data is being cached?

Update:
Based on your information, I would suggest not using Java, but use a C++ TCP based server for this communication. That way you don't have problems with the JNI/C++ interface. You can write a C++ server fairly easily, and if you use Boost libraries you will be close to the new C++ spec. For threads you can look at: http://www.boost.org/doc/libs/1_40_0/doc/html/thread.html

流殇 2024-08-12 13:33:12

我会选择 Tomcat

I'd go with Tomcat.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文