2011年2月21日 星期一

LAMP後時代,預言還是魔咒?

LAMP後時代,預言還是魔咒?

本文摘自51CTO的阿菜,分享加回味······
網站開發黃金組合LAMP(Linux+Apache+MySQL+PHP)已經流行了好幾年。即LAMP之後,PHP社區最近開始推廣起GLAMMP組合。這個組合在LAMP之上又加進來一個G和一個M。這新加進來的兩個字母各是什麼意思呢?
  G——Gearman
  Gearman是Brad Fitzpatrick 的一個作品,用Perl寫的任務調度程序,提供一個服務器端和多種語言的客戶端接口,包括 C/Perl/Python/Ruby 等。
  gearman可以用在各個方面,最簡單就是在不同語言之間架起一座橋樑。比如你可能希望你的php程序調用一個c 函數,那麼用gearman就可以實現了,當然了實際你可以通過寫一個php擴展來實現同樣的工作,但是比如你要php調用java,perl,或者python那麼,gearman就非常棒了。
  gearman另一個應用方面是負載分擔,你可以將worker放在不同的服務器(或者一些列服務器)上,比如你的php程序需要圖片轉換,但是不希望本地服務器有太多的這樣圖片轉換的進程,那麼你可以建立一系列服務器,在上面加載worker處理圖片轉換。這樣你的web服務器將不受圖片轉換的影響,同時你得到了負載均衡的功能,因為job server會在請求到來的時候,將這個請求發給空閒的worker.同樣對於多核的服務器,你可以在同一機器上創建同樣數目的worker. 你可能擔心,job server處於一個中心,那麼這會是一個單點的瓶頸,如果死了,會怎麼樣?對於這樣的情況,你可以運行多個job server。這樣如果一個job server down了,client和worker會自動遷移到另一台job server上。
  M——Memcached
  memcached是由Danga Interactive開發的,高性能的,分佈式的內存對像緩存系統,用於在動態應用中減少數據庫負載,提升訪問速度。
  PHP社區的看法是,LAMP組合已經越來越不能滿足很多網站的需要,其他工具的介入是必然趨勢。數據庫方面,號稱memcached殺手應用的Drizzle有可能會替代MySQL。在MySQL被Sun收購的那一年,人們關心MySQL是否將會繼續讓LAMP架構發揚光大;而在Sun又被甲骨文收購,MySQL創始人宣佈創建開源數據庫聯盟,MySQL即將四分五裂之際,Drizzle是否能夠做為MySQL的延伸,令GLAMMP發揚光大下去呢?
  不過我也許說錯了,這樣的話,GLAMMP大概應該改名叫做GLAMPD才是。
「只要有足夠多的眼睛,就能讓問題浮現。」 -- 林納斯·托瓦茲

這篇是轉貼,主要是留給自己作一個筆記之用。

沒有留言: