account_disabled
New Neighbor
member is offline
|
Post by account_disabled on Dec 2, 2023 6:03:38 GMT
Web 应用程序的组件模板 Web 应用程序架构有多种模式,每种模式都基于 Web 服务器与其数据存储的连接方式。 一台服务器,一个数据库 最简单的模型是连接到数据库实例的 Web 服务器模型。这种模式易于实现和维护,投入生产也相当简单。 由于其简单性,该模型适合学习和不会暴露在高流量下的小型实验应用程序。Web 开发新手可以轻松设置并使用这些应用程序,以了解Web 应用程序开发的基础知识。 但是,该模型不应该在生产中使用,因为它非常不可靠。服务器或数据库问题可能会导致停机和财务损失。 多个服务器,一个数据库 该模型通过使用单个公共数据库实例设置多个服务器以实现冗余,从而将应用程序提升到一个新的水平。 由于多个Web服务器同时访问数据库,可能会出现不一致问题。 为了避免这种情况,Web 服务器被设计为无状态的。这意味着 电话号码清单 服务器不会在会话之间保留数据,而只是对其进行处理并将其存储在数据库中。 使用此模型创建的应用程序肯定比使用先前模型创建的应用程序更可靠,因为多个 Web 服务器的存在提高了 Web 应用程序的容错能力。然而,由于数据库仍然是一个常见实例,因此它是架构中最薄弱的环节,并且可能成为故障源。Web 应用程序时最常见和最传统的模式之一。 在这种情况下,应用程序逻辑分布在负载均衡器后面分组的多个相同的 Web 服务器实例上。数据存储还跨多个数据库实例进行管理,以提高容错能力。 您还可以选择跨可用实例拆分数据库以提高性能或维护整个数据存储的副本以实现冗余。无论哪种情况,数据库实例的故障都不会导致应用程序完全中断。 该模型因其可靠性和可扩展性而受到高度评价。然而,使用这种模型开发和维护应用程序相对复杂,并且需要经验丰富且昂贵的开发人员。因此,仅在大规模施工时推荐使用该模型。 应用服务 虽然上述三种模型适用于单片应用程序,但还有另一种模型适用于模块化应用程序。 应用程序服务模型根据业务功能将应用程序分解为更小的模块。这些模块可以小到一个功能,也可以大到一个服务。 其想法是使每个业务功能独立且可扩展。每个模块都可以独立连接到数据库。您还可以拥有专用的数据库实例来满足模块的可扩展性需求。 在非单体应用中,这种模型相当流行。传统的整体架构通常会迁移到此模型,以利用其可扩展性和模块化优势。然而,管理基于此模型构建的应用程序需要专家的开发工作,尤其是具有 DevOps经验的专业人员。
|
|