Web层次详解
发布:2018-12-12 20:03:03 浏览:4795
在一个拥有大量服务器的大规模网站中,安装新的应用服务器程序部署新代码或检査系统配置一致性等任务都非常耗费时间。假如要在数百甚至上千台服务器上安装应用服务器程序,一次只安装一台,那么这种庞大的任务量显然需要另辟蹊径才行:编写一个 Shell a脚本,实现在中央数据存储区上仅通过一个指令就可以安装好应用服务器程序。
例如,子网10.10.20.0/24中可能有几百台服务器,其中每一台都需要安装应用服务器程序,同时我们需要在它上面修改一个配置文件,为服务器配置正确的P地址和子网地址。理想情况下,我们可以使用一个脚本将二进制程序自动安装到目标服务器上,然后再修改配置文件。使用脚本实现日常安装与配置任务的自动化,其效率和可靠性要远远高于人工方式。然而,这个过程仍然很容易出现错误,因为现在还没有执行任何质量保证检查或验证步骤,无法保证预期任务得到正确解决。
接下来,再让我们考虑一下大型网站的上线情况吧。我们需要给服务器安装和配置一个操作系统,以及构成Web应用程序所在底层系统的服务与流程,其中包括配置网络设置、时间设置、磁盘驱动器和文件系统,然后再安装必要的软件包。这整个过程就是所谓的分配( provisioning),它的自动化程度越高,工程师的工作就越轻松。
但是,我们仍然必须考虑所投入的工作量。如果只部署一个网站,例如只有一个数据库和应用服务器的一个Web服务器,那么可能就没有必要花时间为基础架构创建一个专门实现自动化安装与配置的系统。一般的做法是,只有在需要频繁修改或系统数量很多的情况下才需要考虑自动化。例如,如果有100台以上的服务器,那么一定要实现基础架构和应用程序的自动化配置与安装,即使可能一个月才会出现一些修改需求。类似地,如果只有30台服务器,但是它们需要不断地重新分配和更新,那么我们也需要实现基础架构和应用程序的自动化分配与配置,因为频繁地执行这些任务是很耗费时间的。实际上,唯一种不需要考虑自动化的情况是用于研究目的的一次性原型系统或临时基础架构,如
网站制作性能测试或测试新应用平台。如果一个特定的配置不可能被再次使用,那么就不需要实现自动化。