1. 程式人生 > >企業高併發成熟解決方案思考

企業高併發成熟解決方案思考

要想解決高併發的問題,先需要弄清楚企業整體架構

高併發發生在二處:1.負載均衡  2.資料庫處

分析完企業整體架構之後 1:開始搭建負載均衡伺服器 2:演示負載均衡伺服器的效果

第一種:解決方案    DNS

場景:

我說的大資料量處理是指同時需要對資料進行檢索查詢,同時有高併發的增刪改操作;

大資料量的處理

例如騰訊,盛大,動輒數以億計的帳號,怎麼能這麼快呢, 於是找到了網際網路現在對資料處理的發展:對於大資料量處理,如果是網際網路處理的話,一般分為下面階段: 第一階段,所有資料都裝入一個數據庫,當資料量大了肯定就會出現問題,就像剛剛說的查詢,於是想辦法 第二階段,那時肯定想做快取機制,確實可以,如加上快取Memcached,但快取也是治標不治本,資料量太大了也是不行,於是 第三階段,master-slave模式,進行主從資料庫,master提供寫,slave進行讀,這個適合於有寫造成資料庫卡的方法,還是不行,於是 第四階段,垂直分庫,這個意義還是不大,於是 第五階段,進行水平分庫,這個不錯,記得以前從興也是按這個分時間水平分庫,其實可以分的更細點估計效果更好

    1. 問題2:資料庫出現瓶頸 怎麼辦?

以Mysql為例:

1:對Mysql進行優化

2:快取,主流快取Memcached,redis…

3:  mysql讀寫分離 + 主從複製

4:Oracle

5:Oracle讀寫分離 + 主從複製

6:Oracle Partition 分割槽

7:Oracle RAC叢集(終級解決方案)

此方案:非常貴,即使是淘寶,京東這樣的大公司,也是很難受的。

主要方案:水平拆分,庫表雜湊

待續…

備選方案:Mysql主從複製與讀寫分離

MySQL主從複製(Master-Slave)與讀寫分離(MySQL-Proxy)實踐

Mysql作為目前世界上使用最廣泛的免費資料庫,相信所有從事系統運維的工程師都一定接觸過。但在實際的生產環境中,由單臺Mysql作為獨立的資料庫是完全不能滿足實際需求的,無論是在安全性,高可用性以及高併發等各個方面。

因此,一般來說都是通過 主從複製(Master-Slave)的方式來同步資料,再通過讀寫分離(MySQL-Proxy)來提升資料庫的併發負載能力 這樣的方案來進行部署與實施的。