Web应用程序架构,N层,3层或多层

时间:2015-06-07 17:31:53

标签: architecture layer n-tier-architecture 3-tier

我想知道我的应用程序的架构是什么。 我开发了一个Web应用程序来自动化具有许多组件的部署过程:

  • GUI前端(HTML,CSS,JS)
  • 后端(烧瓶)
  • Mysql数据库

后端与多个外部API和托管服务器交互。 所以它基本上是这样的: architecture mockup http://img15.hostingpics.net/pics/330786Capture.png

后端也由几个组件组成(一个用于每个外部交互,另一个用于在所有其他组件之间进行协调)

我进行了一些研究,但我并未弄清楚它是否是3层,n层或多层架构。

我知道3层和n层架构基于应用程序组件的物理分离,而多层架构是合乎逻辑的。但我不知道我是否可以将外部API提供程序视为应用程序的一个组件(因此它们将是一个物理组件,那么我的应用程序将是一个非层组件)。或者我应该将外部交互组件视为逻辑,然后我的应用程序将是3层,具有多层的层。 (后端)

1 个答案:

答案 0 :(得分:1)

我认为它是一个带有多层中间层的3层应用程序,如果你在客户端有复杂的Javascript(例如带有MVVM等模式),它可能是一个多层的前端。 / p>

作为旁注,当单声道和双层应用仍然很大并且网络不那么普遍时,这种分类过去常常有意义。现在随着微服务和REST API的兴起,它与IMO的相关性要低得多。你基本上不能计算参与普通应用程序的层数,而且多层(无论是原始的分层架构还是六角形或洋葱的变体)几乎都是常态。