有一个被广泛接受的错误概念,就是COLDFUSION不具有可伸缩性。作为一个有认证资格的COLDFUSION程序设计者,我希望和大家共同探讨一下这个有关COLDFUSION的问题。在本篇文章里,将会涉及到有关COLDFUSION许多方面的内容,并且,我们还要就COLDFUSION是否具有可伸缩的能力进行讨论。
可伸缩性所代表的是当服务器符合加重的时候仍旧能够做出回应的能力。(见图表一)
图表一
线性可伸缩性的定义
最新版本的COLDFUSION(是这款软件的第五代版本)比前一版本的速度要快1.5至4.5倍,这就让这款软件变得比以前所有的版本都更加好用也更加快捷。COLDFUSION Server软件有两种版本可供出售:专业版和企业版。企业版本的COLDFUSION软件具有内置的负载平衡能力,并且还带有更具活力的搜索引擎。拥有了负载平衡能力就可以让多个COLDFUSION服务器组成一个服务器组来共同的完成工作,或者可以组成一个串状结构的环境。这些特性包含了ClusterCats、round-robin域名服务器、硬件负载平衡、服务器探测器等等许多。
ClusterCats是Allaire公司从一家名叫Bright Tiger的公司购买来的技术,并且把这项技术组合到了COLDFUSION的企业版本软件里边。这是在安装光盘中带有的一个单独的应用软件。这个应用软件会在每一个服务器上放置“bug”,通过这个“bug”,这些服务器之间就可以在一段特定的时间间隔内进行信息交换的工作。在安装了ClusterCats之后,这些服务器就可以共同组成一个负载平衡器,它的任务是负责硬件的负载平衡配置工作。
ClusterCats提供了一种软件方式的解决方案,这样就不需要为了满足负载平衡的要求而购买昂贵的专门硬件设备了。这种解决办法对于那些小型的商业需要来说能够非常完美的完成工作,尤其是对于那些没有足够资金来购买相应硬件设备但是却要满足这方面要求的小公司来说绝对是非常合理的选择。
ClusterCats允许多个COLDFUSION服务器在一起共同工作。在某些情况下,加入更多的服务器只会为用户提供越来越低的可伸缩能力;使用资源的时候在哪里开始走下坡路就决定了服务器的数目。
Round-robin工作在一种循环重复的工作原理之上:一个服务器的IP地址被提交出来,然后被放置在序列的后部;随后,下一个服务器的IP地址被提交出来,然后被放置到序列的最后一个,就像这样一个接一个完成重复的动作,这个过程的结束取决于被使用的服务器数目。这个过程以一种循环的方式进行工作。
通过使用round-robin域名服务器,所有的服务器所对应的都是同一个域名服务器。一旦服务器的负载超过了定额,这个服务器就会停止接受新的任务请求。直到它的负载降低到预先确定的范围之内才会重新开始接受新的任务请求。这个预先确定的范围可以从百分之一定到百分之九十九的服务器可用资源。网络或者系统管理员决定什么样的负载状况会触发这种状态。系统管理员可以决定在什么样的情况下服务器应该开始慢下来并且停止接受任务请求。这个技术允许网络站点自行规定在何种情况下可以增加用户的任务请求。服务器能够较以前相对简单的就被添加到任务中,这就让网络站点能够简单的并且便宜的实现可伸缩性。