购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 Web应用程序的组件及架构

Web应用程序架构展示了包含所有组件(例如数据库、应用程序和中间件)以及它们如何相互交互的布局。它定义了数据如何通过HTTP传递,并确保客户端服务器和后端服务器能够理解。

1.4.1 Web应用程序架构组件

Web应用程序架构确保所有用户请求中都存在有效数据,它创建和管理记录,同时提供基于权限的访问和身份验证。

通常,基于Web的应用程序架构包括三个核心组件。

(1)Web浏览器:浏览器或客户端组件或前端组件是与用户交互、接收输入并管理表示逻辑同时控制用户与应用程序交互的关键组件。如果需要,也会验证用户输入。

(2)Web服务器:Web服务器也称为后端组件或服务器端组件,通过将请求路由到正确的组件并管理整个应用程序操作来处理业务逻辑和用户请求。它可以运行和监督来自各种客户端的请求。

(3)数据库服务器:数据库服务器为应用程序提供所需的数据,它处理与数据相关的任务。

1.4.2 Web应用程序架构的类型

Web应用程序的体系结构可以根据软件开发和部署模式分为不同的类别。下面介绍几种常见的Web应用程序架构类型。

1.单体架构

单体架构是一种传统的软件开发模型,也称为Web开发架构。整个软件开发为通过传统瀑布模型的单个代码。这意味着所有组件都是相互依赖和互连的,并且每个组件都需要运行应用程序。要更改或更新特定功能,需要更改要重写和编译的整个代码。

由于单体架构将整个代码视为一个程序,因此构建新项目、应用框架、脚本、模板和测试变得简单易行,部署也很容易。但是,随着代码越来越大,管理或更新变得困难。即使是很小的变化,也需要经历Web开发架构的整个过程。由于每个元素都是相互依赖的,因此扩展应用程序并不容易。此外,单体架构不可靠,因为单点故障可能会导致应用程序崩溃。

2.微服务架构

微服务架构解决了单体环境中遇到的几个挑战。在微服务架构中,每个微服务都包含自己的数据库并运行特定的业务,这意味着用户可以轻松开发和部署独立的服务。微服务架构提供了更新、修改和扩展独立服务的灵活性,这使得开发变得简单高效,对于高度可扩展和复杂的应用程序,微服务是一个不错的选择。

微服务架构也有缺点,在运行时部署多个服务是一项挑战。当服务数量增加时,管理它们的复杂性也会增加。此外,微服务应用程序共享分区数据库。这意味着用户需要确保受事务影响的多个数据库之间的一致性。

3.集装箱架构

集装箱架构也被称为容器技术,它是部署微服务的最佳选择。容器是对可以在计算机或虚拟机上运行的应用程序的轻量级运行环境的封装。因此,应用程序在从开发人员设备到生产环境的一致环境中运行。通过在操作系统级别抽象执行,容器化允许用户在单个操作系统实例中运行多个容器。在减少开销和提升处理能力的同时,它也提高了效率。

4.无服务器架构

无服务器架构是开发软件应用程序的模型。在此结构中,底层基础设施的供应由基础设施服务提供商管理。这意味着用户只需为使用中的基础架构付费,而不是为空闲CPU时间或未使用的空间付费。

无服务器计算降低了成本,因为资源仅在应用程序执行时使用。缩放任务由云提供商处理。此外,后端代码得到简化,这样减少了开发工作和成本,并缩短了上市时间。常见的多媒体处理、直播、聊天机器人、物联网传感器消息等都是无服务器计算的一些应用实例。 xkEen9ydBSVVLHLP9REx7aiMP5msun3isIM6kMxz/AuUKB5zkJmcxf2czl1mTBG/

点击中间区域
呼出菜单
上一章
目录
下一章
×