# Google技术征文 # 如何为你的企业选择示例性 Web 应用架构? 原创

发布于 2022-9-20 21:47
浏览
7收藏

如果你曾经使用 Spotify 听过你最喜欢的音乐,那么你就是在使用具有最佳架构之一的 Web 应用程序。正如Spotify 的工程师所说,他们利用了一种分区架构,其中每个功能都相互独立。因此,如果一个失败,对其他功能没有影响,这有助于确保减少停机时间。

同样,Web 应用程序架构对你的开发计划至关重要,因为它定义了系统中服务器、应用程序和数据库之间的关系。它是一种将所有重要组件结合在一起的结构,以便在用户与系统交互时做出响应。

创建现代 Web 应用程序在不断发展,构建这些应用程序的架构也在不断发展。Web 应用架构有多种选择,从微服务架构到无服务器和 SPA(单页应用程序)。你甚至可以为你的 Web 应用程序使用混合架构。

最适合的 Web 应用程序架构最适合你的业务需求,具体取决于你计划开发的方式。规划需要了解架构的工作原理以及它将如何影响你的应用程序的性能?因此,让我们首先了解 Web 应用程序架构的工作原理。

Web 应用架构如何工作?

任何 Web 应用程序都有两个主要组件——客户端(前端)和服务器端(后端)。前端是编写并存储在浏览器中的代码。同时,后端是存储在服务器中的业务逻辑。当用户通过浏览器与系统交互时,根据存储在服务器中的业务逻辑执行特定功能。

Web 应用程序中业务功能的执行取决于架构的类型。例如,微服务架构将提供一套相互独立的服务,允许组织以最小的中断进行更改。同样,每种架构都有不同的运作方式。因此,让我们通过全面了解其功能来发现不同类型的架构。

1. 微服务架构

微服务架构就是将整个应用程序分发到彼此独立的不同的、更小的服务中。它是你的面向服务架构的绝佳替代品,通常出现在单体应用程序中。微服务最棒的地方在于,它允许你在不中断业务功能的情况下调整代码和进行更改。

以流行的流媒体巨头Netflix为例。流媒体服务进行了多项 A/B 测试,这些测试跨越团队和服务。如果没有架构级别的支持,测试操作员会在运行中调整配置时可能会发生中断。然而,由于松耦合的微服务架构,Netflix 可以确保 A/B 测试期间的零停机时间。

2 无服务器架构

无服务器架构需要最少的资源管理,所有代码执行都由云服务提供商提供支持。它不需要人工干预来执行和部署代码,让你专注于产品质量。无服务器架构有两种方法,

功能即服务(BaaS)
后端即服务(FaaS)

BaaS 是一种架构,其中所有后端活动都由第三方服务管理。供应商提供带有预编写软件的 BaaS 解决方案,可自动管理身份验证、数据库,甚至组件的远程升级。同时,FaaS 是一种事件驱动的架构,允许你编写代码并以模块化的方式执行它们。

3.单页应用程序(SPA)

单页应用程序是克服传统 Web 应用程序架构缺乏直观用户体验和更流畅导航等限制的好方法。当你访问一个网站时,不同的菜单选项有不同的页面,而 SPA 提供一个包含所有数据的网页。因此,你无需访问新网页即可获取信息。

它允许你改善 Web 应用程序的用户体验并优化搜索引擎排名。在这里,整个逻辑都留在前端,允许你在客户端开发整个应用程序。

4. 渐进式 Web 应用程序 (PWA)

渐进式 Web 应用程序是全球最受欢迎的架构之一,24% 的电子商务公司计划投资它。PWA 架构最好的部分是你的 Web 应用程序将具有跨浏览器兼容性。除此之外,你的 Web 应用程序还可以响应不同的屏幕方向。

你的应用程序提供丰富的用户体验,并在具有 PWA 架构的低强度网络上运行。使用 PWA 可以轻松通过链接共享你的应用程序,无需从 Play 商店安装。

结论

如果你没有预定义的具体细节,那么决定为你的 Web 应用程序开发选择哪种架构可能会很困难。因此,必须列出业务需求,然后决定你需要哪种Web 应用程序架构。

例如,如果你考虑基于云的 Web 应用程序开发,那么无服务器和微服务架构是最佳选择。你甚至可以将它们一起用作混合架构,以利用云托管服务和降低依赖性的优势。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
标签
Web
架构
已于2022-9-20 21:49:47修改
9
收藏 7
回复
举报
回复