1、MySQL Clustering(ndb-cluster stogare)
MySQL公司以存儲引擎方式提供的高可靠性方案,是事務(wù)安全的,實時復制數(shù)據(jù),可用于需要高可靠性及負載均衡的場合。該方案至少需要三個節(jié)點服務(wù)器才能達到較好的效果。
成本:
(1) 節(jié)點服務(wù)器對RAM的需求很大,與數(shù)據(jù)庫大小呈線性比例;
(2) 最好使用千兆以太網(wǎng)絡(luò);
(3) 還需要使用Dolphin公司提供的昂貴的SCI卡。
優(yōu)點:
(1) 可用于負載均衡場合;
(2) 可用于高可靠性場合;
(3) 高伸縮性;
(4) 真正的數(shù)據(jù)庫冗余;
(5) 容易維護。
缺點:
(1) 隨著數(shù)據(jù)庫的變大,對RAM的需求變得更大,因此成本很高;
速度:
(1) 幾乎比典型的單獨服務(wù)器(無千兆以太網(wǎng),無SCI卡,存儲引擎相關(guān)的限制少)慢10倍。
應(yīng)用場合:
(1) 冗余,高可靠性,負載均衡
2、MySQL / GFS-GNBD/ HA (Active/Passive)
GFS是事務(wù)安全的文件系統(tǒng)。同一時刻你可以讓一個MySQL使用共享數(shù)據(jù)。
成本:
(1) 最多n臺高性能服務(wù)器的成本,其中一個激活的,其他作為備份服務(wù)器。
優(yōu)點:
(1) 高可靠性
(2) 某種程度的冗余
(3) 按照高可靠性進行伸縮
缺點:
(1) 沒有負載均衡
(2) 沒有保證的冗余
(3) 無法對寫操作進行伸縮
速度:
(1) 單獨服務(wù)器的2倍。對讀操作支持得較好。
應(yīng)用場合:
(1) 需要高可靠性的、讀操作密集型的應(yīng)用
3、MySQL / DRBD / HA (Active/Passive)
DRBD可以提供這樣的共享硬盤。DRBD可以被設(shè)置成事務(wù)安全的。同一時刻你可以讓一個MySQL使用共享數(shù)據(jù)。
成本:
(1) 最多n臺高性能服務(wù)器的成本,其中一個激活的,而其他則作為備份服務(wù)器。
優(yōu)點:
(1) 高可靠性;
(2) 一定程度的冗余;
(3) 以高可靠性名義來看是可伸縮的。
缺點:
(1) 沒有負載均衡
(2) 沒有保證的冗余
(3) 在寫負載方面沒有伸縮性
速度:
(1) 在讀寫方面相當于單獨服務(wù)器
應(yīng)用場合:
(1) 需要高可靠性、讀操作密集型的應(yīng)用
4、MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
考慮不同的讀、寫DB數(shù)據(jù)庫連接的情況。可以使用一臺主服務(wù)器用于寫操作,而采用n臺從服務(wù)器用于讀操作。
成本:
(1) 最多1臺高性能寫服務(wù)器,n臺讀服務(wù)器的成本
優(yōu)點:
(1) 讀操作的高可靠性;
(2) 讀操作的負載均衡;
(3) 在讀操作負載均衡方面是可伸縮的。
缺點:
(1) 無寫操作的高可靠性;
(2) 無寫操作的負載均衡;
(3) 在寫操作方面無伸縮性;
速度:
(1) 同單獨服務(wù)器;在讀操作方面支持得較好
應(yīng)用場合:
(1) 讀操作密集型的、需要高可靠性和負載均衡的應(yīng)用。
5、Standalone MySQL Servers(Functionally separated) (Active)
多臺功能分離的單獨服務(wù)器,沒有高可靠性、負載均衡能力,明顯缺點太多,不予考慮。
總結(jié):
MySQL官方網(wǎng)站推薦的HA方案是結(jié)合DRBD(本文中的方案3)和Replication(本文中的方案4)。假如再加上Linux Heartbeat還可實現(xiàn)Auto-failover功能,在此種情況下,我們會發(fā)現(xiàn),down機時間會大大減少。
我們還看到,雖然上述方案解決了集群問題,但對于Mysql服務(wù)器之間的負載均衡還是存在問題的,下面我們就選用官方推薦的方案4,配合梭子魚安全負載均衡機,來實現(xiàn)真正高效可靠的大型應(yīng)用架構(gòu)。
梭子魚負載均衡解決方案:
·采用兩臺梭子魚安全負載均衡機LB440的雙機HA冗余結(jié)構(gòu),實現(xiàn)對后端多臺MYSQL服務(wù)器的實時負載均衡。
·采用梭子魚LB440特有的負載均衡算法保證大量的數(shù)據(jù)庫請求鏈接負載實時高效均衡。
·梭子魚LB440對每臺MYSQL服務(wù)器的服務(wù)端口進行健康檢查,當某臺MYSQL服務(wù)器發(fā)生故障,則停止該臺設(shè)備的工作,并從整個負載均衡隊列中自動移除。
·基于應(yīng)用的結(jié)構(gòu),便于以后業(yè)務(wù)系統(tǒng)無縫拓展。性價比最優(yōu)的解決方案,保護用戶的投資。
解決方案圖及示意拓撲:

為什么選擇梭子魚:
·高性能:梭子魚LB440負載均衡機提供業(yè)界至強的服務(wù)器負載均衡性能,支持每秒100,000的新建連接,900萬的并發(fā)連接。
·梭子魚安全負載均衡機獨特的無跳線連接心跳監(jiān)控方式提供快速切換,是MYSQL集群服務(wù)這樣的實時關(guān)鍵系統(tǒng)所必需的。
·SSL卸載和加速:避免SSL加解密運算對服務(wù)器造成的額外壓力,提高服務(wù)器的處理能力,保證HTTPS訪問的高效、安全、可靠。
·強大的安全保護:梭子魚安全負載均衡機內(nèi)置集成了IPS實時安全防護系統(tǒng),可以檢測并阻擋1000多種入侵攻擊和DOS攻擊。