全部課程
發(fā)布時(shí)間: 2023-03-14 16:15:20
MySQL架構(gòu)必須結(jié)合前端業(yè)務(wù)進(jìn)行設(shè)計(jì)和優(yōu)化,所以無論采用哪種架構(gòu),最好都要結(jié)合業(yè)務(wù)需求來滿足,不能一概而論,同時(shí)要注意數(shù)據(jù)安全(如ipsec、ssh、vpn傳輸)。
(二)常見的MySQL架構(gòu)
MySQL的常見架構(gòu)是業(yè)務(wù)分割、前端緩存、分庫(kù)分表。如果查詢量超過1億,就會(huì)從業(yè)務(wù)、bbs、web、blog中拆成幾組,然后做成主多從少、讀寫分離。
而且,在表的設(shè)計(jì)上,一般情況下,備份庫(kù)往往充當(dāng)備份查詢,至于讀寫分離,在程序設(shè)計(jì)之初,讀寫是通過不同的IP入口,這是一個(gè)思路,或者定義類,或者用代理層,比如MySQL-proxy最多的場(chǎng)合,一般在應(yīng)用層做讀寫分離,然后MySQL通過復(fù)制來實(shí)現(xiàn),優(yōu)點(diǎn)多,可控性非常好。
(三)常見的游戲架構(gòu)
游戲中的好友關(guān)系、排行榜、計(jì)數(shù)器、隊(duì)列、緩存等都很適合通過Redis來實(shí)現(xiàn),不用在Redis的事務(wù)能力上花太多的心思。此外,Redis比Memcached要穩(wěn)定得多。
(四) 電子商務(wù)的常見架構(gòu)
在電子商務(wù)方面:生產(chǎn)環(huán)境也是主從架構(gòu),然后用DRBD+HA做主備,主備不推薦,高可用還是推薦DRBD方案,DRBD注意不要設(shè)置為自動(dòng)啟動(dòng),手動(dòng)重啟,腦裂的情況很少。但在工作中,基本不重啟DRBD,更不重啟服務(wù)器,基本沒有遇到腦裂的問題,DRBD這種在災(zāi)備方面有風(fēng)險(xiǎn),但不能起到擴(kuò)容的作用,結(jié)合LVS相信是一個(gè)完美的解決方案,比如說。LVS+Keepalived可以通過腳本消除來自MySQL機(jī)器的緩慢延遲或故障,而且LVS是軟件負(fù)載均衡器中最強(qiáng)的,在后端節(jié)點(diǎn)超過10個(gè)的情況下,估計(jì)只有LVS可以勝任了
(五)公司的規(guī)模(如新浪、淘寶)
1、不用集群是說mysql自己的集群用的不多(目前看還可以用)。
2、主站和從站可以是多個(gè)組,若干個(gè)
3、每個(gè)組可以是一個(gè)主站和多個(gè)從站(1/N的業(yè)務(wù)數(shù)據(jù))。
4、3每個(gè)組在讀或?qū)憰r(shí)可能是一個(gè)前端調(diào)度器RS
5. 調(diào)度器的分布可以是哈希分組,數(shù)據(jù)可以根據(jù)用戶ID進(jìn)行切分,當(dāng)然還有更高級(jí)的手段
提示:新浪開發(fā)經(jīng)理承認(rèn),他們的SAE平臺(tái)還是主從式的,甚至還有單點(diǎn)式的(通過監(jiān)控和人工處理))。
(六)中型公司(如CSDN)
1、mysql一個(gè)主程序和多個(gè)從程序讀寫分離(甚至還沒有實(shí)現(xiàn)),多組。出現(xiàn)問題后直接手動(dòng)或自動(dòng)切入更改主站(用腳本或程序來實(shí)現(xiàn))
2、drbd+ha實(shí)現(xiàn)高可用(也是雙主多從,自動(dòng)切換M,正常備份M無法提供服務(wù))。
3、或雙主多從,前端結(jié)合,分別實(shí)現(xiàn)讀寫負(fù)載均衡
上一篇: Cassandra內(nèi)部架構(gòu)介紹
下一篇: XView是什么_有哪些劣勢(shì)