比较你的网站需要的服务器数量和你的服务器安装选项
浏览:294 时间:2021-8-4

如今,网站和应用程序的数量呈爆炸式增长。如果你是企业,你需要一个相关的Web平台。应用程序使您能够轻松地向目标客户营销和交付服务。

无论创建Web应用程序的原因是什么,您都需要决定如何构建它。部署服务器时,您有许多选择。您选择的服务器部署方案将决定您如何运行和管理环境中的一切。

如何为企业制定服务器部署计划?

首先,您需要考虑您的网络应用程序有什么需求,它必须包含什么功能。例如,您的应用程序需要易于扩展,或者您的应用程序需要在pC和移动设备上都能顺利工作。同时,你的预算可能是你最关心的问题。

无论您的需求是什么,您都应该知道您可以为您的应用程序制定定制的方案策略。在本文中,恒创科技将探索各种类型的网络应用服务器。我们将讨论各种用例以及何时最好使用部署场景。为了帮助您决定是否适合您,我们还将提供每种服务器部署方案的一些优缺点。

首先,将所有环境放在一台服务器中

您将整个环境加载到一台服务器中。该环境将包括您的网络服务器、应用服务器和数据库服务器。例如LAMp(Linux、Apache、MySQL和pHp)堆栈配置。

适用场景:如果时间不够,这种安排效果最好。这是最简单、最快的部署方案,适用于简化的Web应用。

优点:易于理解,易于理解和实施;部署所有内容只需要很少的时间。

缺点:不允许横向扩展;在组件隔离方面提供很少;因为它们在同一个服务器上,所以应用程序和数据库本质上是在争夺相同的资源。您可能会遇到较差的应用程序性能。

第二,独立的数据库服务器

使用单一服务器的主要问题是对有限资源的竞争。这个部署方案就是为了解决这个问题而设计的。这里,数据库管理系统(DBMS)独立于应用服务器。数据库服务器位于内部网中,有自己的资源。这可以提高性能和安全性。

适用场景:如果担心数据库和应用在同一个资源上竞争,这是一个理想的解决方案。同样,配置也很简单。

优点:应用程序和数据库相互独立,使用单独的专用系统资源,包括CpU、内存、I/O等。它在任何应用程序和数据库层都有更大的可扩展性潜力;您可以根据需要添加和删除资源;即使你把数据库从公共互联网上删除,你也能保证它的安全。

缺点:比单个服务器的部署略复杂;两台服务器之间的低带宽或高延迟网络连接可能会导致性能问题。

第三,反向代理或负载平衡

负载平衡器通常用于服务器环境,以提高性能和可靠性。他们通过“平衡负载”来做到这一点:在多台服务器之间分配工作负载。

适用场景:负载均衡器对你进行水平伸缩非常有用。横向扩展基本上意味着向环境中添加更多服务器。您还可以使用应用层反向代理来同时服务多个具有一个域名和端口的应用程序。Nginx是一个性能非常好的反向代理服务器,用于负载均衡。

好处:如果线内一台服务器出现故障,其他服务器会通过平衡工作量来补偿其功能;允许您执行水平扩展以增加或减少环境容量;它还可以限制提供针对DDOS攻击的保护的客户端连接。

缺点:如果系统资源不足,负载均衡器可能会限制应用的性能;需要适当的配置来确保适当的性能;它比单服务器或单服务器部署复杂得多;您需要考虑SSL终止和需要粘性会话的应用程序等因素;使用负载平衡器的主要问题是它是一个故障点。这意味着如果负载平衡器不起作用,您的整个服务将会下降。

第四,HTTp加速器或缓存反向代理

通过这种部署方案,您可以提高向应用程序用户提供内容的速度。当用户第一次请求时,HTTp加速器将保存内容。之后,当任何类似的请求到来时,它将快速提供内容,而无需与应用服务器交互。我们可以使用Nginx来加速HTTp缓存。

适用场景:该部署方案最适合用户经常请求的文件和内容。它也非常适合内容密集型的动态Web应用程序。

好处:缓存和压缩可以显著提高应用和请求处理的速度;降低CpU负载也将提高站点性能;您也可以将其用作反向代理负载平衡器。

缺点:必须调整才能提取出最佳性能;如果缓存精度较低,您可能会遇到性能不佳的情况。

动词(verb的缩写)数据库主从复制体系结构

主从数据库复制类型的服务器体系结构通常对执行读取大于写入的系统非常有用。例如,内容管理系统可以真正利用这样的架构。您需要一个主节点和一个或多个复制节点进行复制。它将读数分布在所有节点上。更新只到达主节点。

适用场景:正如我们提到的,基于复制的数据库部署方案有助于提高系统的读取性能。您可以将其用于CMS等应用程序。

优点:提高了数据库的读取性能,因为它将数据库传播到副本;如果只使用主节点进行更新,还可以提高写入性能。

缺点:任何试图访问数据库的应用程序都必须能够决定向哪个节点发送更新和读取请求;如果主拷贝失败,更新将停止。您必须先解决问题,然后才能继续更新;没有故障转移机制来适应潜在的主节点故障。

不及物动词部署各种组合的服务器

您还可以结合各种技术和体系结构来实现期望的结果。这意味着您可以在单个环境中加载应用服务器负载平衡和缓存服务器以及复制数据库。这样做可以让您利用两台服务器的功能。但是,它不会使部署变得更加复杂或繁琐。例如,下图所示的环境:

在这样的环境中,负载平衡器将向缓存服务器发送静态请求。静态内容包括CSS、图片、Javascript等。它将直接向应用服务器发送任何其他类型的内容请求。

假设用户从环境中请求一些静态内容,服务器的反应如下:

负载平衡器将首先确定内容是缓存命中还是缓存滥用。缓存命中内容存在于缓存中,而缓存未命中内容不存在。它通过检查缓存后端来做到这一点。

如果缓存命中,负载均衡器将内容发送给用户;

如果缓存丢失,缓存服务器会将请求转发到应用程序的后端。

应用后端将从数据库中找到并发送内容。

缓存后端接收负载平衡器中的内容。它还会在将内容返回到负载平衡器之前缓存这些内容。

后者随后被转发给用户的响应。

另一方面,如果用户请求动态内容,将会发生以下情况:

请求将从用户发送到负载平衡器。

请访问此请求的应用程序后端。

应用后端定位所请求的内容,并将其返回给负载平衡器。

用户接收内容。

这种集成环境的主要好处之一是更可靠。不仅如此,它还具有出色的性能能力。但是,仍然有两个故障点:负载平衡器和主数据库服务器。

结论

您可以在自己的环境中使用相应的服务器部署方案。同时,您也可以将其中的几个结合起来,创建个性化的解决方案。这完全取决于您想要从架构中获得的功能。了解每种服务器部署方案的工作原理将有助于您为应用程序做出决策。最好的方法是从一个小的架构开始,随着经验的积累,增加设置的复杂性。