php在yahoo!的应用
2007-01-25 16:40:53 来源:WEB开发网雅虎中国技术研发部总监谭晓生讲演
非常荣幸今天能够作为一个用户谈一谈我们对LAMP的使用。雅虎是全球著名的互联网公司,产品非常多,雅虎中国只是雅虎.COM产品的一个子级,真正在北美这边生活的话,你可以看到雅虎网站关系到生活的方方面面,从看新闻到财经的信息到开车怎么走,到找一些本地的餐饮、购物等信息,在雅虎的网站都可以做得到。我介绍雅虎Web服务器的体系结构。从最左边看起,前端用IE或者其它浏览器上来,经过一个标准的负载均衡设备,可能会是一个简单的DNS装置也可能是专用的 Vip的设备,标准是跑Apache,编程语言是php,下面写到基于内存数据库的系统MDBM,右边可以看到后端存储有甲骨文、MySQL数据库,UDB服务器专门存用户的认证信息以及邮件存在什么地方AD服务器,做广告投放,AD是里面非常重要的。除了专有数据库和标准的数据库获得信息之外,还可以通过其它各种各样的渠道,通过合作伙伴可以把数据Feeds进来。中间云图叫PRoxyio,为了解决网络通信的问题,随着用户数量的增加,用户使用量的增加,单台服务器满足不了要求,每一个模块都可能是由多台服务器跑的,模块之间的通讯演化N乘M层级的问题,可以有效地简化,这是非常概要的图,这张图里面没有体现操作系统,WEB站线的语言用PHP,数据库有MySQL和甲骨文。
下面可以看到HP的服务器,为什么只写了HP,并不是HP赞助了这个会,雅虎有若干万台的服务器,都选择不同的供应商,在全球的支持变成非常困难的一件事情,所有东西经过验证,在某一个版本下面、某一种型号、某一种版本能运行不错,全球尽可能统一,HP服务器用得最多,在国内也开始使用戴尔。
在此之前操作系统有两个标准的操作系统,用得最多的是BSD,上面之前跑Apache,至此之上有PHPBase和雅虎自己的Exts和PHP的语言,Y Mods是雅虎内部攻击预防的系统,经常会起作用。red更多像linux偏一些,雅虎中国几千台操作系统在一个月切换,最核心像索引器全部用64位的机器,操作系统也是64位,应用也是64位的。
Yapache和Apache的区别,雅虎从操作系统开始到Apache做过一些改造,第一个是性能方面的优化,第二安全性方面的提升,第三是可管理性方面的提升,轮转方式改变了,GZIP编码有改变,最后这一行非常有帮助,可以帮助定位在哪一台服务器产生。
雅虎为什么要采用PHP?
雅虎在使用PHP之前都用过什么东西,我到雅虎之后这些东西都已经是历史了,HF2K、CS/HDF。像雅虎以前邮件的页面,有HF2K、HTMIForm的东西,但是先都退出历史舞台。
展现层分成五部分,第一个页面框架,这部分95%的HTML、50% PHP解决这方面的问题。在显示组件HTML和PHP是对半的,在业务逻辑部分90%用PHP做业务逻辑,在Ceneric百分之百用PHP,在库部分大部分用PHP,只要满足性能要求都可以用PHP,如果PHP实在干不了,可以用C/C++编写PHP扩展,如果说用PHP在性能上可以满足的话,公司推荐尽可能用PHP写,相对来说编程速度比较快,产量比较高。
从业务逻辑往后叫Back End Engineering,还有一部分是Front End Eng。所以在雅虎工程师很有意思,在国内要招聘PHP工程师还是蛮困难的,尤其要招聘高素质的PHP,写出稳定、安全又高效的代码,这其实还是比较难找的,雅虎的用人方法我们招C++工程师,要求具备C++编程功底,到公司再学PHP,雅虎程序员超过一半会PHP,不是进公司之后会的,而是去的时候学的。PHP是一个简单的语言,但是简单不等于可以胡乱写,真正要写出高效安全的程序,还是需要很严密的逻辑。
在数据库方面来说,右边讲了甲骨文,右边讲了MySQL。MySQL在雅虎大量采用数据库,在我见到过雅虎的产品里边90%以上用MySQL,只有对并发度要求特别高,对数据安全性要求特别高,一般来说是收费服务,数据一旦丢失会有一些法律纠纷的,在这种情况下会考虑采用甲骨文,在实际开发里边,如果说拿出一个技术方案要用MySQL,简单看一下,不是涉及到收钱这种业务,就过了。不管什么样的业务,只要用甲骨文,我们就坐下来谈一谈为什么选择甲骨文,有什么样非要选甲骨文不可的原因。我们在其他所有的地方,使用甲骨文不需要额外花钱,一年交多少钱给这些公司,包括MySQL的支持,都是买断的,我在公司内部都可以用,不用花钱,大家在线执行的时候会进行认真的审核。
在网页搜索中,PHP有什么样的用处。雅虎.COM一个搜索的包括首页、相关页和结尾页都是PHP,跑在Apache。雅虎到底有多少极其是使用 Linux操作系统的,拿雅虎中国实际的数字采用非Linux操作系统的机器,不到1%,而且在实际的工作里边,Windows放在不同的网段,这方面有很严格的规定。
雅虎在LAMP的工作。雅虎参加Apache分布式数据处理工作,如果大家对DFS有了解的话,做分布式数据处理,雅虎中国在过去比较多是技术使用者,包括雅虎.COM产生雅虎中国在用,雅虎中国有五名工程师参与其中,明年投入更多的人力。我们鼓励员工参加这样的活动,公司也给他们提供这样的支持。
感谢大家!
http://www.phpchina.com/viewnews_2295.html
更多精彩
赞助商链接