簡述大併發,大流量,大存儲相關解決方案

大併發解決方案:

對網站服務器從新架構,採用分層,負載均衡。

1.負載均衡器:
硬件:f5-bigip 可立竿見影但價格昂貴
軟件:lvs(linux virtual server)linux虛擬服務
nginx 能夠作web服務器,也能夠作負載均衡

2.負載均衡實現方式:
輪詢:客戶端請求服務器輪流轉發
ip哈希:同一ip地址的客戶端,始終請求同一臺服務器
最少鏈接:把請求轉發給最空閒的服務器

3.集羣:
主要是解決計算機單點故障,在一個集羣中的計算機,只有一臺計算機工做,其餘計算機處於休眠狀態,監視正在工做的計算機,當正在工做的計算機出現問題,則休眠的計算機馬上接替工做。

大流量解決方案:
1.防止網站資源盜鏈
2.減小http請求
主要手段:合併js,css文件,背景圖片文件。
3.啓用壓縮
減小數據傳輸數據量,常見壓縮格式:gzip,deflate
4.經過瀏覽器緩存數據內容
經過個設置http的cache-control expires屬性來進行設置緩存,能夠設置緩存的文件類型,設置緩存的緩存週期,來緩存更新頻率較少的資源文件。
5.考慮把比較佔用流量的一些資源,單獨組建一個服務器
要注意資源服務器的配置:
存儲資源的服務器:主要要求是硬盤的容量,讀寫速度。 能夠組建磁盤陣列。
raid0
raid1
磁盤陣列的存儲技術:
分佈存儲:至少是兩塊硬盤
複製存儲:至少是兩塊硬盤
6.買帶寬

大存儲解決方案:
1.緩存技術
經過緩存技術,達到不查詢數據庫或者少查詢數據庫的目的。
計算機的訪問速度,內存》硬盤文件》數據庫
緩存技術主要有:
磁盤緩存(頁面靜態化),把一個查詢數據庫的頁面變成一個不查詢數據庫的頁面
內存緩存:把常常查詢的數據保存到內存裏面,下次查詢數據時候直接在 內存裏面查詢。
(memcache/redis/mysql的memory引擎)
2.設計表的時候,要知足3範式
第一範式是:原子性,字段不能再分割了。只要是關係型數據庫就自動知足第一範式:
數據庫的分類:
關係型數據庫:有行和 列的概念,二維表格。常見的關係型數據庫:mysql,sql server,oracle,db2,
非關係型數據庫(nosql)面向集合和 文檔的,沒有行和列的概念常見的有redis/mongodb等。
第二範式:在一個表中不能有徹底相同的記錄。能夠經過設置一個主鍵。
第三範式:表中的字段不能冗餘存儲。
3.要給表添加適當的索引:索引很是重要的,能夠提升查詢速度。
4.建立適當的存儲過程,函數,觸發器等。
5.讀寫分離(主從服務器)
6.分表技術(垂直分割和水平分割)
7.分區技術
8.升級mysql服務器
9.對sql語句進行調優
10.對配置文件進行優化配置

版權聲明:本文爲博主原創文章,未經博主容許不得轉載。css

相關文章
相關標籤/搜索