首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >web应用程序的基础结构

web应用程序的基础结构
EN

Server Fault用户
提问于 2013-04-06 08:26:33
回答 2查看 183关注 0票数 -1

我对网络应用的基础设施很好奇.它是一个具有相同的应用程序/源代码的克隆服务器网络,还是一个克隆数据库服务器网络和一个媒体/资产服务器网络,位于负载平衡服务器网络的后面?如果是这样的话,web应用程序是否需要某种类型的功能来帮助实现这一点?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2013-04-06 11:07:59

哇,这是一个非常广泛的问题:)对于服务器错误来说,这是一个非常离题的话题,所以它可能会在一段时间内关闭。但由于是星期六下午,我有一个讲故事的心情,所以这里有一个答案,大致是基于我们公司发展的简化版本。

简略的答案是我最喜欢的:视情况而定。虽然有一些常见的模式,但没有“这就是如何构建webapp”的配方。

您的问题是假设一个not应用程序运行在多个服务器上,尽管这并不一定是正确的。每个网站都可以被认为是一个网络应用程序。像博客这样简单的东西就是一个box应用程序,它的数据库、代码和静态资产都在同一个盒子里,没有任何高可用性。这是大多数启动网络应用程序的方式。如果它们长出来会发生什么呢?

在某种程度上,它们超出了单个服务器,因此它们扩展了:拆分数据库和应用服务器(这也会执行所有静态资产)。任何非活动的代码,如cron作业,都可以移动到另一台服务器。商业拯救了..。就目前而言。

因为一家健康的企业也会发展壮大。应用程序服务器易于扩展,因此您经常会看到人们在HA对负载平衡器后面使用一组应用程序服务器。正确地设置环境时,可以使用木偶或func之类的方法来保持它们的同步,并使用部署方法对它们的代码进行部署,通过使用负载平衡器,在没有用户可见的停机时间的情况下执行回滚/回滚。这样的设置允许您将应用服务器水平缩放到相当大的规模。

但是,当然,数据库会变得繁忙,因此数据库将增加一组奴隶,将读取操作卸载到上面。并且可能会构建一个缓存层来避免从数据库中读取数据。然后,当主程序太忙,无法处理所有的写操作时,数据将被分割到多个复制链上。只要您的数据易于分割和复制,这也为您提供了很大的扩展空间。

同时,您的业务增长如此之大,以至于带宽和静态内容的数量也成为一个问题,因此静态资产不再由应用服务器提供,而是由一组专用的服务器提供。也许前面有一个CDN来帮助处理输入的带宽。

做了这么多简单的事情,现在它开始变得有趣了。当您达到此比例时,您可能希望避免任何和所有的停机时间。因此,您将为剩下的单个故障点(如数据库主版)寻找更高可用的选项。您将查看灾难恢复,以防主数据中心崩溃。你也会成为互联网上各种恶意分子的攻击目标。DDOS攻击和试图破坏您的安全边界是您需要应对的持续威胁。

而应用服务器需要一些功能来处理这一切吗?不是的。但你的环境确实如此。最好是让面向客户的服务器保持沉默和快速,并拥有智能控制机制来处理部署、一致性检查、监视和处理攻击。这使得应用服务器能够专注于为客户服务,这就是带来金钱的原因。

票数 9
EN

Server Fault用户

发布于 2013-04-06 09:19:45

该应用程序可以放在一个或多个服务器上。通常,多个服务器将几乎相同,并且使用相同的代码库。web和数据库服务器的数量将取决于您所需的资源,并且应该能够根据需要进行上下扩展。

负载平衡对于最终用户和应用程序本身都是不可见的。虽然某些应用程序可能需要考虑负载平衡,但根据我的经验,大多数web应用程序在黑暗中都能很好地工作。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/496763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档