单体架构和三层架构有什么区别?
What is the difference between a monolithic architecture and a 3-tier architecture?
我有一个应用程序被打包为部署在 WebSphere 上的单个 ear 文件。在包内,代码被组织成 UI 文件、业务逻辑文件和数据库相关文件。现在,这是单体应用程序还是 3 层架构?
有什么区别?
你在比较错误的东西。需要将单体应用程序与微服务进行比较。在单体应用中;您将所有 features/api 端点部署在一个 EAR/WAR 文件中;即单个 JVM。在微服务中,它们部署在多个 JVM 中。请注意,在单体架构中,您还会暴露多个 REST 端点。
3 层、2 层或 N 层架构是不同的概念。它表示您的应用程序分为多少个 subsystems/modules,例如数据库层、客户端层、应用程序逻辑层。因此,单体和微服务都可以是 n 层应用程序。
请记住,EAR 及其中的内容是一种包装选择。您可以在一台或多台服务器上的多个 Java EE 容器中以多个耳朵部署相同的应用程序。 EJB-jars 和 WAR 旨在执行此操作。使用 Java EE,您可以根据需要选择如何在容器和节点之间分发应用程序。
从技术上讲,分层应用程序是可以独立部署、分发和访问各层的应用程序。 IE。我的业务逻辑可以在 9 个 ejb 容器中的 5 个服务器上,并由 3 个用户界面访问,这些用户界面可以是桌面、移动、Web 等。可能是不同应用程序的一部分。
单体应用更传统的定义是不分层的应用程序。具体来说,它的部分不能在运行时组合到其他应用程序中
我有一个应用程序被打包为部署在 WebSphere 上的单个 ear 文件。在包内,代码被组织成 UI 文件、业务逻辑文件和数据库相关文件。现在,这是单体应用程序还是 3 层架构?
有什么区别?
你在比较错误的东西。需要将单体应用程序与微服务进行比较。在单体应用中;您将所有 features/api 端点部署在一个 EAR/WAR 文件中;即单个 JVM。在微服务中,它们部署在多个 JVM 中。请注意,在单体架构中,您还会暴露多个 REST 端点。
3 层、2 层或 N 层架构是不同的概念。它表示您的应用程序分为多少个 subsystems/modules,例如数据库层、客户端层、应用程序逻辑层。因此,单体和微服务都可以是 n 层应用程序。
请记住,EAR 及其中的内容是一种包装选择。您可以在一台或多台服务器上的多个 Java EE 容器中以多个耳朵部署相同的应用程序。 EJB-jars 和 WAR 旨在执行此操作。使用 Java EE,您可以根据需要选择如何在容器和节点之间分发应用程序。
从技术上讲,分层应用程序是可以独立部署、分发和访问各层的应用程序。 IE。我的业务逻辑可以在 9 个 ejb 容器中的 5 个服务器上,并由 3 个用户界面访问,这些用户界面可以是桌面、移动、Web 等。可能是不同应用程序的一部分。
单体应用更传统的定义是不分层的应用程序。具体来说,它的部分不能在运行时组合到其他应用程序中