關於高並發系統的幾點體會
最新
01-21
一:負載均衡
隨著公司的業務不斷擴展,每天的流量的提升,數據量請求的倍增,原來的應用單一實例已經抗不住壓力,這時侯我們就必須增加伺服器一台,兩台,甚至更多來進行減壓,分擔流量,此時我們必須要用到負載均衡。
一般來說,我們開發討論大多的是Nginx七層負載均衡,主要負責應客戶端與應用之間的訪問負載均衡。Nginx可以均衡轉發的後端的Real Server。簡單的說是客戶端訪問Nginx,Nginx分發到的多台相同應用實例其中一台,如此便 可以實現了減壓,分流,提高性能的效果。
曾經在大學期間,看過關於負載均衡配置的一本書(也只是其中一部份),那時間看的是關於DNS輪詢的配置。DNS輪詢也是其中一種抗壓,分流,擴容的方法。
二:本地緩存與緩存集群
本地二級緩存主要作用在於當實例外的緩存系統伺服器宕機後,伺服器實例中的本地二級緩存還可以繼續抗住大量請求,這樣我們有緩衝的時間去維護實例外的緩存系統伺服器。
本地二級緩存可用Ehcache實現,把實例外的緩存系統如Redis中的數據載入倒本地二級緩存中,用Cache-Aside方式實現緩存的讀寫。本地緩存與外部緩存系統的主要問題在於數據的一致性。
緩存集群:Redis緩存的集群,數據同步。Redis存儲量應該有個上限。因為超大量的數據在單一Redis在數據同步時會因為網路動蕩原因,導致的全量同步,會造成網路阻塞。
三:資料庫
資料庫的幾個原則:
1:不要在大數據量的表中進行關聯查詢,可以拆分語句
2: 適當批量查詢,批量更新保存
3:單表不要存儲千萬級以上的數據
4:適當的使用數據冗餘設計
5: 不要用觸發器,存儲過程
TAG:黑豆云云的生活 |