当前位置: 首页 > 知识库问答 >
问题:

单个大型网络应用程序还是多个小型网络应用程序?[关闭]

乌修筠
2023-03-14

想改进这个问题吗 通过编辑这篇文章,更新问题,以便用事实和引文来回答。

我有一个网站,由大约20个Java Web应用程序(基于Servlet/JSP的Web应用程序)组成,大小不一,每个应用程序处理网站的不同区域。

所有20个war的总大小为350mb,然而,通过将它们结合起来,我预计最终能够减少这一大小,并实现组合缓存的好处。

最好将它们分开,还是将它们合并到一个Uber webapp war文件中?(以及原因)

我特别想知道合并它们的任何技术缺点。

共有2个答案

卓瀚
2023-03-14

在单个文件中使用时,在大小、内存问题或性能方面没有缺点,因为系统每天都在加快。正如你所说,在不同的应用程序或同一个应用程序中运行,所消耗的总资源在处理或计算能力方面是相同的。现在是维护和管理问题,决定保留一个或多个。如果您有多个模块,它们可能会频繁地相互独立地更改,那么最好有多个webapp,通过RMI或WS-calls进行对话,以实现内部通信(如果需要)。如果所有这些都作为一个单元来定位,那么一切都会立即发生变化,您可以使用单个应用程序。拥有多个应用程序将有助于根据模块级功能的变化轻松安装和更新每个应用程序

将多个应用程序部署到Tomcat

http://www.coderanch.com/t/471496/Tomcat/Deploying-multiple-applications-WAR

希望有帮助

齐才艺
2023-03-14

我“投票”将其合并。

>

  • 代码共享:如果您将它们组合在一起,您可以在它们之间共享代码(因为只有一个代码)<这不仅仅适用于您的代码,它还适用于您使用的所有外部库,我认为这将是更大的收益。

    更少的内存:组合还需要更少的内存(可能非常重要),因为多个应用程序使用的外部库只需加载一次。

    可维护性:此外,如果您更改代码库或数据库中的某些内容,您只需在一个地方更改它并仅重新部署一个应用程序。

    更容易的同步:例如,如果单独的应用程序在数据库中执行一些关键的操作,那么与所有内容都在一个应用程序中的情况相比,同步它们就更难了。

    代码的不同部分/模块之间更轻松的协作。如果它们组合在一起,您可以简单地调用其他模块的方法。如果它们位于不同的Web应用程序中,您必须以肮脏的方式进行,例如HTTP调用、RMI等。

    >

  • 它会更大(显然)。如果你担心它太大,只需将库从部署战中排除,将其放在tomcat库下。

    不同的应用程序可能使用同一库的不同版本。但是最好尽早整理它们,因为这样可以更容易、更少的工作完成。

    另一个缺点是部署时间较长。同样,“外包”LIB可以帮助加快速度。

  •  类似资料:
    • 当多个应用程序部署到应用程序服务器时,它们是否都共享相同的 JVM? 如果不是,每个应用程序是否都针对不同的JVM? 如果是,那么它不会成为性能问题吗?例如:多个应用程序使用相同的堆空间,这意味着更频繁的垃圾回收机制等? 将这些应用程序部署为带有tomcat的自包含Sprinboot不是一个好主意吗? 我知道我们可以选择使用不同的域为每个应用程序提供单独的JVM-但是仍然有许多应用程序服务器启动并

    • 问题内容: 我只想从Web应用程序中使用PHP发送SMS。谁能告诉我该怎么做?我需要为此做些什么? 问题答案: 我不知道这是否适用于您,但是为了省钱我做了很多次,就是在个人资料中询问用户他的载体是什么,然后尝试与匹配。本质上,许多运营商/大多数运营商都将电子邮件地址连接到电话号码,您可以轻松地将短信发送到该号码。例如,如果您拥有ATT,并且电话号码是786-262-8344,则发送至7682628

    • HTTP 分布式系统

    • HTTP 超文本传输协议 (HTTP) 是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP 是万维网的数据通信的基础。 Requests Python 基本的 urllib2 模块提供了大部分你所需要的 HTTP 功能,但它的 API 彻底被打乱了。它是在一个和现今完全不同的时期 --- 以及一个不一样的网络被构建的。一个简单的任务便需要耗费他大量的工作 (即使重写函数没用)。 Req

    • 问题内容: 我有一组打印机通过网络连接,并且为每台打印机分配了静态IP。 现在,我在Linux服务器上运行了一个PHP Web应用程序,该服务器需要通过网络将打印作业发送到这些打印机。 使用lpr或杯子可以吗,我该怎么办。 问题答案: 您可以从此处使用LPR打印机类: http://www.phpclasses.org/package/2540-PHP-Abstraction-for-printi

    • 我用React Native开发了一个应用程序,我也把它放到了谷歌商店。但一些设备仍然存在一个问题。当其他设备正常工作时,某些设备无法连接到服务器。 我已经生成了多个APK并上传到商店。问题依然存在。我已经把代码放在了android/app/build中。gradle和我想知道所有的设备类型都包括在内。我也应该生成通用APK吗?