php如何處理大資料高併發

2022-08-27 17:24:15 字數 1379 閱讀 6545

大資料解決方案

使用快取:

使用方式:1,使用程式直接儲存到記憶體中。主要使用map,尤其concurrenthashmap。

使用快取框架。常用的框架:ehcache,memcache,redis等。

最關鍵的問題是:什麼時候建立快取,以及其失效機制。

對於空資料的緩衝:最好用乙個特定的型別值來儲存,以區別空資料和未快取的兩種狀態。

分布式資料庫

將不同的表存放到不同的資料庫中,然後再放到不同的伺服器中。有些複雜問題,如:事務處理,多表查詢。

nosql和hadoop

nosql,not only sql。沒有關係型資料庫那麼多限制,比較靈活高效。

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

高併發的解決方案

應用和靜態資源分離。

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

頁面快取

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

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

集群和分布式

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

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

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

反向**

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

cdn

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

cdn的伺服器分布在全國各地,接收到請求後會將請求分配到最合適的cdn伺服器節點來獲取資料。其每乙個cdn節點就是乙個頁面快取伺服器。

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

點選加入該群學習

高併發如何處理(架構層面)

高併發系統各不相同。比如每秒百萬併發的中介軟體系統 每日百億請求的閘道器系統 瞬時每秒幾十萬請求的秒殺大促系統。他們在應對高併發的時候,因為系統各自特點的不同,所以應對架構都是不一樣的。另外,比如電商平台中的訂單系統 商品系統 庫存系統,在高併發場景下的架構設計也是不同的,因為背後的業務場景什麼的都...

php 如何處理高精準計算

bcadd 將兩個高精度數字相加 bccomp 比較兩個高精度數字,返回 1,0,1 bcdiv 將兩個高精度數字相除 bcmod 求高精度數字餘數 bcmul 將兩個高精度數字相乘 bcpow 求高精度數字乘方 bcpowmod 求高精度數字乘方求模,數論裡非常常用 bcscale 配置預設小數點...

php高併發處理

處理方法 1 應用程式與靜態資源的分離 在專用伺服器上放置靜態資源 js,css,等 2 頁面快取 使用由應用程式生成的頁面快取,可以節省大量cpu資源。如果部分頁面需要頻繁轉換資料,可以使用ajax進行處理。3 群集和分布 群集 多個伺服器功能相同,主要起分流作用。將不同的業務分散到不同的伺服器上...