开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

PHP、Cgiapp 和可扩展性

在本周的工作中,Rob对我们的带宽使用情况进行了一些监控。现在我们的每台服务器上都有SNMP,他使用MRTG创建带宽使用情况图,每五分钟左右更新一次。自去年年底以来,他一直在进行监控。

一月份之前,我们有两个系统在运行。第一个遗留系统承载了garden.org的大部分内容,并使用Tango2000完成,Tango2000是一个运行在IIS和WindowsNT4之上的网络应用程序服务器。我说“运行”,因为Tango2000是最后一个版本船;一年后,制造它的公司停止了对它的支持。这意味着我们无法将服务器的操作系统升级到Windows2000或2003,也无法切换到更安全的Web服务器等。这是一颗等待发生的定时炸弹。

第二个系统是一个基本的LAMP系统——Linux+Apache+MySQL+PHP。Robbegan在3年前加入NGA后不久就开始将应用程序迁移到它,一次一个应用程序。大多数情况下,新的应用程序被放置在它上面,尽管在2003年5月,他和当时在那里的另一个程序员开始将旧的应用程序迁移到技术上。我被录用的部分原因是继续这种迁移。

迁移过程非常耗时,而且许多其他项目经常会阻碍迁移。然而,从去年7月开始,我们大力推动将其全部移植过来——在旧的WinNT服务器出现故障之前。1月,我们能够推出运行在这项新技术上的新garden.org。

我们能够完成的一个重要原因是因为Cgiapp。大约在去年的这个时候,我最初将它移植到PHP,并且知道虽然我想使用它开发新的应用程序,但我不太确定我可以卖掉Rob。

令人惊讶的是,没花多少时间就说服了他。在此之前,我们已经开始使用Smarty作为模板,并且还在新开发中使用OOP。Cgiapp只是帮助统一了这些技术,并提供了一个很好的标准框架来进行编程。

最后这一点再怎么强调也不为过。我们开始在三个地方开发所有应用程序:用于数据访问的API、基于Cgiapp的应用程序和我们的模板。我们中的任何一个人都可以从另一个人那里学习应用程序的开发,而不必花一两天时间来熟悉另一个人认为是当今编程范式的特质。当然,我们仍然有自己的编程风格,但该框架可以轻松调试或轻松扩展彼此的程序。

现在,回到带宽报告:Rob注意到,自从我们切换garden.org以来,我们的带宽使用量在新服务器上一直在稳步增长——一条45度线。在本周的某一时刻,我们的传出带宽几乎是3个T1,而且我们没有遇到任何性能问题。这在旧系统上是不可能的——如果没有Cgiapp,也是不可能的。我们已经成功地生产了硬件架构和编程框架,事实证明它们具有极强的可扩展性——这反过来又会为组织节省资金。

我喜欢开源!您还可以如何在不付出高昂代价的情况下创建如此高性能的软件?

未经允许不得转载:我爱分享网 » PHP、Cgiapp 和可扩展性

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏