為了解決復雜均衡這方面難題MySql官方推出了MySql Cluster的構架下面就讓我們從基本情況成本優缺點和應用場合等方面對種MySql 服務器集群的可行性方案進行詳細的分析和比較
MySQL Clustering(ndbcluster stogare)
MySQL公司以存儲引擎方式提供的高可靠性方案是事務安全的實時復制數據可用於需要高可靠性及負載均衡的場合該方案至少需要三個節點服務器才能達到較好的效果
成本
) 節點服務器對RAM的需求很大與數據庫大小呈線性比例;
) 最好使用千兆以太網絡;
) 還需要使用Dolphin公司提供的昂貴的SCI卡
優點
) 可用於負載均衡場合;
) 可用於高可靠性場合;
) 高伸縮性;
) 真正的數據庫冗余;
) 容易維護
缺點
隨著數據庫的變大對RAM的需求變得更大因此成本很高;
速度
幾乎 比典型的單獨服務器(無千兆以太網無SCI卡存儲引擎相關的限制少)慢倍
應用場合
冗余高可靠性負載均衡
MySQL / GFSGNBD/ HA (Active/Passive)
GFS是事務安全的文件系統同一時刻你可以讓一個MySQL使用共享數據
成本
) 最多n台高性能服務器的成本其中一個激活的其他作為備份服務器
優點
) 高可靠性
) 某種程度的冗余
) 按照高可靠性進行伸縮
缺點
) 沒有負載均衡
) 沒有保證的冗余
) 無法對寫操作進行伸縮
速度
) 單獨服務器的倍對讀操作支持得較好
應用場合
) 需要高可靠性的讀操作密集型的應用
MySQL / DRBD / HA (Active/Passive)
DRBD可以提供這樣的共享硬盤DRBD可以被設置成事務安全的 同一時刻你可以讓一個MySQL使用共享數據
成本
) 最多n台高性能服務器的成本其中一個激活的而其他則作為備份服務器
優點
) 高可靠性;
) 一定程度的冗余;
) 以高可靠性名義來看是可伸縮的
缺點
) 沒有負載均衡
) 沒有保證的冗余
) 在寫負載方面沒有伸縮性
速度
) 在讀寫方面相當於單獨服務器
應用場合
) 需要高可靠性讀操作密集型的應用
MySQL Write Master / Multiple MySQL Read Slaves (Active/Active)
考慮不同的讀寫DB數據庫連接的情況可以使用一台主服務器用於寫操作而采用n台從服務器用於讀操作
成本
) 最多台高性能寫服務器n台讀服務器的成本
優點
) 讀操作的高可靠性;
) 讀操作的負載均衡;
) 在讀操作負載均衡方面是可伸縮的
缺點
) 無寫操作的高可靠性;
) 無寫操作的負載均衡;
) 在寫操作方面無伸縮性;
速度
) 同單獨服務器;在讀操作方面支持得較好
應用場合
) 讀操作密集型的需要高可靠性和負載均衡的應用
Standalone MySQL Servers(Functionally separated) (Active)
多台功能分離的單獨服務器沒有高可靠性負載均衡能力明顯缺點太多不予考慮
總結
MySQL官方網站推薦的HA方案是結合DRBD (本文中的方案) 和 Replication (本文中的方案)假如再加上Linux Heartbeat還可實現Autofailover功能在此種情況下我們會發現down機時間會大大減少
我們還看到雖然上述方案解決了集群問題但對於Mysql服務器之間的負載均衡還是存在問題的下面我們就選用官方推薦的方案配合梭子魚安全負載均衡機來實現真正高效可靠的大型應用架構
梭子魚負載均衡解決方案
· 采用兩台梭子魚安全負載均衡機LB的雙機HA冗余結構實現對後端多台MYSQL服務器的實時負載均衡
· 采用梭子魚LB特有的負載均衡算法保證大量的數據庫請求鏈接負載實時高效均衡
· 梭子魚LB對每台MYSQL服務器的服務端口進行健康檢查當某台MYSQL服務器發生故障則停止該台設備的工作並從整個負載均衡隊列中自動移除
· 基於應用的結構便於以後業務系統無縫拓展性價比最優的解決方案保護用戶的投資
解決方案圖及示意拓撲
為什麼選擇梭子魚
·高性能梭子魚LB負載均衡機提供業界至強的服務器負載均衡性能支持每秒的新建連接 萬的並發連接
·梭子魚安全負載均衡機獨特的無跳線連接心跳監控方式提供快速切換是MYSQL集群服務這樣的實時關鍵系統所必需的
·SSL卸載和加速避免SSL加解密運算對服務器造成的額外壓力提高服務器的處理能力 保證HTTPS訪問的高效安全可靠
·強大的安全保護梭子魚安全負載均衡機內置集成了IPS實時安全防護系統可以檢測並阻擋多種入侵攻擊和DOS攻擊
From:http://tw.wingwit.com/Article/program/MySQL/201311/29340.html