【问题标题】:What is the difference between a monolithic architecture and a 3-tier architecture?单体架构和三层架构有什么区别?
【发布时间】:2019-07-24 17:05:27
【问题描述】:

我有一个应用程序,它被打包为部署在 WebSphere 上的单个 ear 文件。在包内,代码被组织成 UI 文件、业务逻辑文件和数据库相关文件。现在,这是一个单体应用程序还是一个 3 层架构?

有什么区别?

【问题讨论】:

    标签: amazon-web-services architecture microservices 3-tier


    【解决方案1】:

    你在比较错误的东西。需要将单体应用程序与微服务进行比较。在单片应用中;您在单个 EAR/WAR 文件中部署所有功能/api 端点;即单个JVM。在微服务中,它们部署在多个 JVM 中。请注意,在单体架构中,您还暴露了多个 REST 端点。

    3 层、2 层或 N 层架构是一个不同的概念。它表示您的应用程序分为多少个子系统/模块,如数据库层、客户端层、应用程序逻辑层。因此,单体和微服务都可以是 n 层应用程序。

    【讨论】:

    • 感谢@Deepak 的回答。那么,从技术上讲,单体应用程序或微服务应用程序可以是 3 层架构吗?
    【解决方案2】:

    请记住,EAR 及其中的内容是一种包装选择。您的同一个应用程序可以部署在一台或多台服务器上的多个 Java EE 容器中的多个耳朵中。 EJB-jars 和 WARs 旨在做到这一点。使用 Java EE,您可以根据意义选择如何在容器和节点之间分发应用程序。

    从技术上讲,分层应用程序是可以独立部署、分布和访问各层的应用程序。 IE。我的业务逻辑可以在 9 个 ejb 容器中的 5 台服务器上,并由 3 个用户界面访问,这些用户界面可以是桌面、移动、Web 等。可能是不同应用程序的一部分。

    单体应用的更传统定义是非分层的应用程序。特别是它的部分不能在运行时组合到其他应用程序中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 2020-04-23
      • 1970-01-01
      • 2014-05-04
      • 2017-07-05
      • 2011-05-20
      • 2011-06-02
      相关资源
      最近更新 更多