【发布时间】:2012-02-22 12:08:44
【问题描述】:
假设我正在为一些前端 GUI (Swing) 工具编写 Java 后端。该后端将包含许多不同类型的用于中间件/业务逻辑的 EJB,以及一些过滤和转发请求到这些 EJB 的 Web 服务。
就打包和部署而言,我们有几种不同的可能策略:
- 1 个整体 EAR/1 个应用服务器 - 将所有 EJB 打包成 JAR,将 Web 服务打包成 WAR,并将所有这些打包在 1 个整体 EAR 中;然后将 EAR 部署到应用服务器(例如 GlassFish)
- Many tiny EARs/1 appserver - 将每个组件(每个 EJB 和每个 Web 服务)打包到自己的 JAR/WAR 中,然后将每个 JAR/WAR 打包到自己的 EAR 中;因此组件和 EAR 之间存在 1:1 的比例;然后将每个 EAR 部署到同一个应用服务器
- 许多微型 EAR/许多应用服务器 - 与上述相同,除了每个“微型”EAR 都部署到自己的应用服务器上;因此组件和应用服务器之间存在 1:1 的相关性
- 无 EAR/许多应用服务器 - 除了删除“中间人”EAR 并将每个打包的 JAR/WAR 部署到其自己的应用服务器之外,与上述相同
这 4 种策略各自的优缺点是什么?有些更安全吗?表现?更有利于集群/复制?其中一些策略是不是很傻?!?
提前致谢!
【问题讨论】:
标签: java deployment packaging