美文网首页webrtc教程及资源Web开发档案网站案例大全
什么是 Web 应用架构?什么是微服务?什么是SPA?

什么是 Web 应用架构?什么是微服务?什么是SPA?

作者: 新潮看世界 | 来源:发表于2022-07-10 09:31 被阅读0次

    什么是 Web 应用架构?

    Web 应用程序架构描述了 Web 上的应用程序、数据库和中间件系统之间的交互。它确保多个应用程序同时工作。让我们通过一个简单的打开网页的例子来理解它。

    用户在 Web 浏览器的地址栏中键入 URL 后,只要点击“开始”按钮,它就会请求该特定的 Web 地址。服务器将文件发送到浏览器作为对请求的响应。浏览器然后执行这些文件以显示请求的页面。

    最后,用户能够与网站进行交互。这里需要注意的最重要的一点是 Web 浏览器解析的代码。Web 应用程序以类似的方式工作。

    该代码可能有也可能没有具体的指令来告诉浏览器如何响应不同类型的用户输入。

    因此,Web 应用程序架构必须包括所有子组件以及整个软件应用程序的外部应用程序交换,在上述情况下,它是一个网站。

    Web 应用程序架构在现代世界中是不可或缺的,因为全球网络流量的主要部分以及大多数应用程序和设备都使用基于 Web 的通信。

    Web 应用程序架构不仅要处理效率,还要处理可靠性、可扩展性、安全性和健壮性。

    它是如何工作的?

    对于任何典型的 Web 应用程序,都有两个不同的代码(子程序)并排运行。这些是:

    客户端代码 -浏览器中响应某些用户输入的代码

    服务器端代码 -服务器上响应 HTTP 请求的代码

    开发 Web 应用程序的 Web 开发人员(团队)决定服务器上的代码将针对浏览器中的代码做什么。对于编写服务器端代码,使用 C#、Java、JavaScript、Python、PHP、Ruby 等。

    任何能够响应 HTTP 请求的代码都可以在服务器上运行。服务器端代码负责创建用户请求的页面以及存储不同类型的数据,包括用户配置文件和用户输入。最终用户永远不会看到它。

    CSS、HTML 和 JavaScript 的组合用于编写客户端代码。此代码由 Web 浏览器解析。与服务器端代码不同,客户端代码可以被用户看到和修改。它对用户输入做出反应。

    客户端代码仅通过 HTTP 请求进行通信,不能直接从服务器读取文件。

    Web 应用程序组件

    当我们说 Web 应用程序组件时,我们可以指以下两种中的任何一种:

    UI/UX Web 应用程序组件——这包括活动日志、仪表板、通知、设置、统计信息等。这些组件与 Web 应用程序架构的操作无关。相反,它们是 Web 应用程序界面布局计划的一部分。

    结构组件——Web 应用程序的两个主要结构组件是客户端和服务器端。

    客户端组件 -客户端组件是用 CSS、HTML 和 JS 开发的。由于它存在于用户的网络浏览器中,因此无需对操作系统或设备相关的调整。客户端组件是最终用户与之交互的 Web 应用程序功能的表示。

    服务器组件 -服务器组件可以使用一种或几种编程语言和框架的组合来构建,包括 Java、. Net、NodeJS、PHP、Python 和 Ruby on Rails。服务器组件至少有两部分;应用程序逻辑和数据库。前者是 Web 应用程序的主要控制中心,而后者是存储所有持久数据的地方。

    Web 应用程序组件的模型

    根据用于 Web 应用程序的服务器和数据库的总数,决定 Web 应用程序的模型。它可以是以下三种中的任何一种:

    1、一台Web服务器,一台数据库

    它是最简单也是最不可靠的 Web 应用组件模型。这样的模型使用单个服务器以及单个数据库。一旦服务器宕机,基于这种模型构建的 Web 应用程序就会宕机。因此,它不太可靠。

    一台 Web 服务器,一个数据库 Web 应用程序组件模型通常不用于真正的 Web 应用程序。它主要用于运行测试项目以及学习和理解 Web 应用程序的基础知识。

    2. 多个 Web 服务器,一个数据库(在一台机器上而不是 Web 服务器上)

    这种类型的 Web 应用程序组件模型的想法是 Web 服务器不存储任何数据。当网络服务器从客户端获取信息时,它会处理相同的信息,然后将其写入数据库,该数据库在服务器外部进行管理。这有时也称为无状态架构。

    此 Web 应用程序组件模型至少需要 2 个 Web 服务器。这一切都是为了避免失败。即使其中一台 Web 服务器出现故障,另一台也会负责。

    发出的所有请求都将自动重定向到新服务器,并且 Web 应用程序将继续执行。因此,与具有固有数据库模型的单个服务器相比,可靠性更好。但是,如果数据库崩溃,Web 应用程序也会跟着做同样的事情。

    3.多个Web服务器,多个数据库

    它是最有效的 Web 应用程序组件模型,因为 Web 服务器和数据库都没有单点故障。这种类型的模型有两种选择。要么在所有使用的数据库中存储相同的数据,要么在它们之间均匀分布。

    对于前一种情况,通常需要不超过 2 个数据库,而对于后一种情况,在数据库崩溃的情况下,一些数据可能会变得不可用。然而,在这两种情况下都使用DBMS 规范化。

    当规模较大时,即超过 5 个 Web 服务器或数据库或两者兼有时,建议安装负载均衡器。

    Web 应用程序架构的类型

    Web 应用程序架构是各种 Web 应用程序组件之间的交互模式。Web 应用程序架构的类型取决于应用程序逻辑在客户端和服务器端之间的分布方式。

    存在三种主要类型的 Web 应用程序架构。它们中的每一个解释如下:

    单页应用程序 (SPA) –单页 Web 应用程序不是每次都从服务器为用户操作加载全新的页面,而是通过向当前页面提供更新的内容来实现动态交互。AJAX 是异步 JavaScript 和 XML 的一种简洁形式,是启用页面通信的基础,因此使 SPA 成为现实。因为单页应用程序可以防止用户体验中断,所以它们在某种程度上类似于传统的桌面应用程序。

    SPA 的设计方式使它们请求最必要的内容和信息元素。这导致获得直观和交互式的用户体验。

    微服务——这些是执行单一功能的小型轻量级服务。微服务架构框架具有许多优势,使开发人员不仅可以提高生产力,还可以加快整个部署过程。

    构成使用微服务架构构建的应用程序的组件并不直接相互依赖。因此,它们不需要使用相同的编程语言来构建。

    因此,使用微服务架构的开发人员可以自由选择技术堆栈。它使开发应用程序更简单、更快捷。

    无服务器架构——在这种类型的 Web 应用程序架构中,应用程序开发人员咨询第三方云基础设施服务提供商以外包服务器和基础设施管理。

    这种方法的好处是它允许应用程序执行代码逻辑,而无需打扰与基础设施相关的任务。

    当开发公司不想管理或支持服务器以及他们为其开发 Web 应用程序的硬件时,无服务器架构是最好的。

    相关文章

      网友评论

        本文标题:什么是 Web 应用架构?什么是微服务?什么是SPA?

        本文链接:https://www.haomeiwen.com/subject/mrtwbrtx.html