我正计划构建一个独立的/基于 Web 的 Java 应用程序。它应该能够同时处理数千个请求。请求消息通过 TCP 端口(例如 6040)进入。我有一个专用线程来不断侦听来自客户端的消息。从套接字读取消息后,该线程将生成一个线程来服务请求。所以它基本上每个请求一个线程。
为请求提供服务涉及许多数据库操作,例如调用远程数据库中的存储过程、在本地数据库中执行更新/插入以及日志记录。服务请求后,应向客户端发送响应。
我希望情况很清楚。简而言之,我想构建一个强大的多线程可扩展应用程序(使用陈词滥调)。我的问题如下:
- 监听传入请求的主线程应该为每个请求生成一个线程,还是应该只从线程池中获取一个。我要问的是我应该在我的应用程序中使用线程生成还是线程池。
- 是否可以在集群上部署独立的 Java 应用程序?
- 使用我打算为管理目的开发的 Web 应用程序(部署在 JBoss 7.1 服务器上)部署和运行它是一个好主意,还是应该是一个独立的应用程序?
- 一般来说,在 Java 中构建强大的多线程可扩展应用程序时要考虑哪些问题