網站建設新技術的選擇及思考

  隨着互聯網的技術發展和各種新型網站技術的誕生,我們有時候很迷茫很困擾,特別是對一些中小企業的構架師,系統管理員來說,是採納新技術來優化當前的網絡架構,關鍵服務軟件呢,還是保留當前的經典優化方案,很值得思考!
  其實縱觀當前的網絡現狀,我們可以發現各大IT公司,如facebook,淘寶,google...在軟件上的優化項目無非集中在系統平臺(文件系統,雲),前端web服務器,後端的php,jsp服務器端解釋語言,還有就是數據庫了,因爲基本上來講,網站的就這4大環節。

  純軟件來講優化的方案大致是:
   1,前端是否採用緩存cdn,其中還要選擇squid,varnish

   2,apache,nginx,tengine選擇

   3,php(jsp不瞭解)是進行apc,xcache.zendoptimize還是乾脆使用facebook的hiphop編譯成c++(加速的同時還能代替zend guard保護php源代碼很好),是否使用php框架設計還是直接純php設計

   4,mysql,postgresql+memcached還是直接nosql(mongodb,redis)或者在mysql基礎上採用handlesocket  

   5,Hadoop分佈式文件系統,大數據,雲(openstack)等(這裏不做考慮真用到的都是規模很大的應用了,基本不用考慮,有成熟的案例就上就是了,不用考慮成本,不怕新技術能用就用)

  而在硬件上的優化則大致是:
   1,千兆萬兆高速網絡設備,帶寬

   2,大規模集羣,負載均衡設備(F5)

   3,InfiniBand架構(不考慮,一般有服務器承包商整體部署,牽扯很多東西)

   4,採用更強大的多核心cpu,高速大容量的內存,pci-e ssd等

   5,mips多核心+網絡加速模塊防火牆

  我個人認爲,如果你的企業是超大規模企業,經濟-技術實力雄厚,世界500強等,請不用考慮,有什麼新技術新硬件儘管上,只要成熟穩定就好,如果你剛處於創業階段,或是中小企業,沒有特殊情況還是不要過分追求極限優化,就採用成熟穩定的lamp架構就好,若果您真的想追潮流,應該首先考慮一下幾點問題:
      1,當前的網絡架構,軟件配置是否能滿足企業業務在未來2-3年的發展需求(軟件,硬件整體評價)

      2,是否找出現了網站發展的瓶頸,在哪裏?是局部改進還是整體改進,如果是需要整體改造是一次改造還是否分步驟來。(到底哪裏需要極限優化) 

      3,當前的web前後端程序設計,數據庫表的設計是否是最優化的,能否減少nginx的請求,php運算處理,數據庫查詢次數(畢竟使用少是最好的優化,到底是不是服務器軟件或硬件的問題,同時決定是否採用php-c++編譯提高性能,編譯後還能保護php源代碼不可見)

     4,企業網站的高峯流量是否達到防火牆過濾帶寬,或者企業總帶寬,(決定是由採用cdn,前端緩存,考慮防止DDOS***)  

      5,當前的數據庫是否夠用,如果併發不是很大,數據量500萬左右,mysql就夠了,如果併發很大,cpu遇到瓶頸可以選擇mysql-handlesocket模式,如果併發很大,數據文件也很大10G左右上億條,而且查詢是簡單的pk查詢,就是用nosql-mongodb了,但是nosql基本不支持安全權限,複雜事務查詢。

     6,當前的php應用兼容性代碼安全性問題,是否能採用nginx-tengine1.30或apache2.4.2是否能採用php5.3-5.4.是否需要採用zend optimize

  總結起來,優化時我們需要考慮的問題順序是:

   網絡總帶寬>防火牆rnat帶寬>磁盤-ssd速度,容量>cpu>內存>web應用程序設計(是否採用先用的php框架來設計)>數據庫表設計>數據庫>php服務器端>web服務器>各種前後端緩存>集羣,網絡構架優化(實在沒辦法只能擴展了)

   軟件優化的同時我們要時刻考慮硬件的搭配問題,不能軟件超過硬件的能力,也不能硬件拖軟件的後退,硬件的優化相對簡單哪裏不行就換哪裏,考慮下系統支持,穩定性就好。

  優化無止境,我們要理性的選擇優化方案,請根據自身的經濟,技術實力來評斷選擇,就好比個人小公司選擇centos一樣,大企業關鍵業務還是選擇rhel吧,不光是爲了出來問題由來處理來背,確實centos和rhel是有差別的(10%左右),反過來你如果只是有幾個人的小公司,你非要去整facebook的hiphop搞php編譯優化,除了問題你哪有那麼多精力去整啊。技術上來說問題出在哪裏你都不好找到。。。畢竟咱們不是天才精通c++,php,php解釋器,c++編譯器。。。。一切以實際的情況,實際的業務量來進行,要不優化了沒經濟效果不說,還會帶來維護成本增加,業務的不穩定諸多麻煩。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章