雅虎中国技术研发部总监谭晓生讲演
非常荣幸今天能够作为一个用户谈一谈我们对LAMP的使用。雅虎是全球着名的互联网公司,产品非常多,雅虎中国只是雅虎.COM产品的一个子级,真正在北美这边生活的话,你可以看到雅虎网站关系到生活的方方面面,从看新闻到财经的信息到开车怎么走,到找一些本地的餐饮、购物等信息,在雅虎的网站都可以做得到。我介绍雅虎Web服务器的体系结构。从最左边看起,前端用IE或者其它浏览器上来,经过一个标准的负载均衡设备,可能会是一个简单的DNS装置也可能是专用的 VIP的设备,标准是跑apache(Unix平台最流行的WEB服务器平台),编程语言是php(做为现在的主流开发语言),下面写到基于内存数据库的系统MDBM,右边可以看到后端存储有甲骨文、MySQL(和PHP搭配之最佳组合)数据库,UDB服务器专门存用户的认证信息以及邮件存在什么地方AD服务器,做广告投放,AD是里面非常重要的。除了专有数据库和标准的数据库获得信息之外,还可以通过其它各种各样的渠道,通过合作伙伴可以把数据Feeds进来。中间云图叫Proxyio,为了解决网络通信的问题,随着用户数量的增加,用户使用量的增加,单台服务器满足不了要求,每一个模块都可能是由多台服务器跑的,模块之间的通讯演化N乘M层级的问题,可以有效地简化,这是非常概要的图,这张图里面没有体现操作系统,WEB站线的语言用php(做为现在的主流开发语言),数据库有MySQL(和PHP搭配之最佳组合)和甲骨文。
下面可以看到HP的服务器,为什么只写了HP,并不是HP赞助了这个会,雅虎有若干万台的服务器,都选择不同的供应商,在全球的支持变成非常困难的一件事情,所有东西经过验证,在某一个版本下面、某一种型号、某一种版本能运行不错,全球尽可能统一,HP服务器用得最多,在国内也开始使用戴尔。
在此之前操作系统有两个标准的操作系统,用得最多的是BSD,上面之前跑apache(Unix平台最流行的WEB服务器平台),至此之上有php(做为现在的主流开发语言)Base和雅虎自己的Exts和php(做为现在的主流开发语言)的语言,Y Mods是雅虎内部攻击预防的系统,经常会起作用。red更多像Linux偏一些,雅虎中国几千台操作系统在一个月切换,最核心像索引器全部用64位的机器,操作系统也是64位,应用也是64位的。
Yapache(Unix平台最流行的WEB服务器平台)和apache(Unix平台最流行的WEB服务器平台)的区别,雅虎从操作系统开始到apache(Unix平台最流行的WEB服务器平台)做过一些改造,第一个是性能方面的优化,第二安全性方面的提升,第三是可管理性方面的提升,轮转方式改变了,GZIP编码有改变,最后这一行非常有帮助,可以帮助定位在哪一台服务器产生。
雅虎为什么要采用php(做为现在的主流开发语言)?
雅虎在使用php(做为现在的主流开发语言)之前都用过什么东西,我到雅虎之后这些东西都已经是历史了,HF2K、CS/HDF。像雅虎以前邮件的页面,有HF2K、HTMIForm的东西,但是先都退出历史舞台。
The presentation layer is divided into five parts. The first page frame, this part is 95% HTML and 50% php (as the current mainstream development language) solves this problem. In the display component, HTML and php (as the current mainstream development language) are half and half, and in the business logic part, 90% is done with php (as the current mainstream development language) Business logic is 100% used in Ceneric using php(as the current mainstream development language), and most of the library part uses php(as the current mainstream development language), as long as the performance is met You can use php(as the current mainstream development language) for all requirements. If php(as the current mainstream development language) really can’t be done, you can use C/C++ to write php(as the current mainstream development language) extension, if using php(as the current mainstream development language) can meet the performance requirements, the company recommends using php as much as possible(As the current mainstream development language)Write, relatively speaking, the programming speed is faster and the output is relatively high.
The business logic is called Back End Engineering, and the other part is Front End Eng. So it is very interesting to be an engineer at Yahoo. It is quite difficult to recruit PHP (as the current mainstream development language) engineers in China, especially recruiting high-quality PHP (as the current mainstream development language) Language), writing stable, safe and efficient code is actually quite difficult to find. Yahoo’s hiring method is that we recruit C++ engineers, who are required to have C++ programming skills and then learn PHP at the company(as As the current mainstream development language) , more than half of Yahoo programmers know PHP (as the current mainstream development language) , not after joining the company, but when they go there. php(as the current mainstream development language) is a simple language, but simplicity does not mean that you can write it randomly. To truly write an efficient and safe program, you still need very strict logic.
In terms of databases, the right side talks about Oracle, and the right side talks about MySQL (the best combination with PHP) . MySQL(The best combination with PHP)A large number of databases are used in Yahoo. I have seen that more than 90% of Yahoo products use MySQL(The best combination with PHP), only if the requirements for concurrency and data security are particularly high, it is generally a paid service. Once the data is lost, there will be some legal disputes. In this case, Oracle will be considered. In actual development, If you come up with a technical solution that uses MySQL (the best combination with PHP) , just take a quick look and see that it doesn’t involve the business of collecting money. No matter what kind of business, as long as you use Oracle, we will sit down and talk about why you choose Oracle and what are the reasons why you must choose Oracle. In all other places, we don’t need to spend extra money to use Oracle. How much money do we pay to these companies a year, including the support of MySQL (the best combination with PHP) , it is all bought out. I can use it within the company without spending money, and everyone will conduct careful review when executing it online.