程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php在yahoo!的應用

php在yahoo!的應用

編輯:關於PHP編程

雅虎中國技術研發部總監譚曉生講演 

    非常榮幸今天能夠作為一個用戶談一談我們對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的東西,但是先都退出歷史舞台。

    展現層分成五部分,第一個頁面框架,這部分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(和PHP搭配之最佳組合)。MySQL(和PHP搭配之最佳組合)在雅虎大量采用數據庫,在我見到過雅虎的產品裡邊90%以上用MySQL(和PHP搭配之最佳組合),只有對並發度要求特別高,對數據安全性要求特別高,一般來說是收費服務,數據一旦丟失會有一些法律糾紛的,在這種情況下會考慮采用甲骨文,在實際開發裡邊,如果說拿出一個技術方案要用MySQL(和PHP搭配之最佳組合),簡單看一下,不是涉及到收錢這種業務,就過了。不管什麼樣的業務,只要用甲骨文,我們就坐下來談一談為什麼選擇甲骨文,有什麼樣非要選甲骨文不可的原因。我們在其他所有的地方,使用甲骨文不需要額外花錢,一年交多少錢給這些公司,包括MySQL(和PHP搭配之最佳組合)的支持,都是買斷的,我在公司內部都可以用,不用花錢,大家在線執行的時候會進行認真的審核。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved