1. 程式人生 > >大型分布式網站的並發解決方案

大型分布式網站的並發解決方案

程序 b+樹 異地 集群 增加 瀏覽器 反向代理 延遲加載 緩存

大型分布式網站:

1 增加緩存,減少磁盤訪問次數。給存放的數據設置索引,通過尋址索引來加快和減少磁盤的訪問量。

2 web前端調優:減少網絡交互的次數(多次請求合並)。

減少網絡傳輸數據量的大小(壓縮)

盡量減少編碼(盡量提前將字符轉化為字節,或者減少從字符到字節的轉換過程)

使用瀏覽器緩存

減少cookie傳輸

合理布局頁面,使用頁面壓縮,延遲加載頁面,CSS在最上面,js在下面,CDN,反向代理,頁面靜態化,異地部署

3 服務降級: 拒絕服務和關閉服務

4 失效轉移:若數據庫集群中任何一臺服務器宕機,那麽應用程序針對這臺服務器的所有讀寫操作都需要重新路由到其他服務器。

5 性能優化:1、web前端性能優化:

瀏覽器訪問優化:減少http請求;使用瀏覽器緩存;啟用壓縮;css放在頁面最上面、javaScript放在頁面最下面;減少Cookie傳輸

CDN加速,反向代理 2、應用服務器性能優化:分布式緩存(Redis等),異步操作(消息隊列),使用集群(負載均衡)代碼優化 3 存儲性能優化,機械硬盤vs固態硬盤,B+樹 vs

LSM樹,RAID vs HDFS

6 代碼優化

多線程(Q:怎麽確保線程安全?無鎖機制有哪些?)

資源復用(單例模式,連接池,線程池)

數據結構

垃圾回收

大型分布式網站的並發解決方案