php如何處理大數據高並發


大數據解決方案

使用緩存: 

使用方式:1,使用程序直接保存到內存中。主要使用Map,尤其ConcurrentHashMap。

使用緩存框架。常用的框架:Ehcache,Memcache,Redis等。

最關鍵的問題是:什么時候創建緩存,以及其失效機制。

對於空數據的緩沖:最好用一個特定的類型值來保存,以區別空數據和未緩存的兩種狀態。

分布式數據庫

將不同的表存放到不同的數據庫中,然后再放到不同的服務器中。有些復雜問題,如:事務處理,多表查詢。

NoSql和Hadoop

NoSql,not only SQL。沒有關系型數據庫那么多限制,比較靈活高效。

Hadoop,將一個表中的數據分層多塊,保存到多個節點(分布式)。每一塊數據都有多個節點保存(集群)。集群可以並行處理相同的數據,還可以保證數據的完整性。

高並發的解決方案

應用和靜態資源分離。

將靜態資源(js,css,圖片等)放到專門的服務器中。

頁面緩存

將應用生成的頁面緩存起來可以節省大量cpu資源。

對於部分頁面經常變換數據的,可以使用ajax來處理。

集群和分布式

集群,多台服務器具有相同的功能,主要起分流的作用。

分布式,將不同的業務放到不同的服務器中,處理一個請求可能需要多台服務器,進而提高一個請求的處理速度。

又分為靜態資源集群和應用程序集群。后者較復雜,經常要考慮session同步等問題。

反向代理

客戶端直接訪問的服務器並不是直接提供服務的服務器,它從別的服務器獲取資源,然后將結果返回給用戶。

CDN

CDN是一種特殊的集群頁面緩沖服務器,和普通的集群的多台頁面緩沖服務器相比主要區別是:其存放位置和分配請求方式不同。

CDN的服務器分布在全國各地,接收到請求后會將請求分配到最合適的CDN服務器節點來獲取數據。其每一個CDN節點就是一個頁面緩存服務器。

明確的學習思路能更高效的學習

 

點擊加入該群學習


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM