1、MySQL
MySQL小型高可用架構
方案:MySQL雙主、主從 + Keepalived主從自動切換
服務器資源:兩臺PC Server
優勢:架構簡單,節省資源
缺點:沒法線性擴展,主從失敗以後須要手動恢復主從架構
MySQL中型高可用架構
方案:MMM + MySQL雙主 + 多從高可用方案
服務器資源:
一、至少五臺PC Server,2臺MySQL主庫,2臺MySQL從庫,1臺MMM Monitor;
二、1臺MMM Monitor選擇低配;
三、若是不採用F5做爲從庫的負載均衡器,可用2臺PC SERVER部署LVS或HAProxy+Keepalived組合來代替;
優勢:雙主熱備模式,讀寫分離,SLAVE集羣可線性擴展
缺點:讀寫分離須要在程序端解決,Master大批量寫操做時會產生主從延時
MySQL大型高可用架構
主要思路:中間件+MySQL Sharding
如方案:Cobar等中間件+MySQL技術
圖片略。
另外,還分享些MySQL一些主流的高可用架構
一、MySQL雙主 + Keepalived主備自動切換方案(上面已有)
二、MySQL主從 + Keepalived主從自動切換方案(上面已有)
三、MMM+MySQL雙主 + 多從高可用方案(上面已有)
四、MySQL + Pecemaker(Heartbeat) + DRBD高可用
五、MySQL + RHCS 高可用方案
六、MySQL + Cluser 集羣架構
七、Percona Xtradb Cluster 集羣高可用性解決方案
八、中間件 + MySQL 大型集羣解決方案(上面已提到)
MySQL + Pecemaker(Heartbeat) + DRBD高可用 && MySQL + RHCS 高可用方案
Percona Xtradb Cluster 集羣高可用性解決方案
MySQL多機房部署架構參考
2、Oracle
一、Oracle ActiveDataGuard
服務器資源:2臺PC Server
一、Oracle本身的容災系統,數據庫徹底冗餘保護,可跨IDC部署;
二、Oracle 11g 以上版本Standby可Redo模式打開,可做爲數據倉庫使用,也能夠做爲備份數據庫;
三、可切換,通常會採用手動切換方式。
二、Oracle RAC
服務器資源:至少兩臺PC Server做爲RAC節點,SAN存儲一臺,
其餘資源:光纖網絡環境
RAC的特性:
一、高可用性:保證只要有一個存活的節點,就不會斷業務,保持業務連續性
二、雙機雙工:RAC是並行模式工做的,節點間關係是Active對Active,每一個節點都能爲客戶端提供服務
三、易伸縮:RAC的增長、刪除節點很是方便
四、高吞吐量:節點數量和吞吐量是正比關係
三、Oracle MAA
方案:RAC+ASM+Standby(RAC)部署
服務器資源:RAC所須要資源*2
其餘資源:異地機房
備註:MAA實質上就是RAC+DataGuard的結合體。
Oracle還有不少其餘高可用架構,好比結合Oracle Golden Gate作複製等等……
3、MongoDB
MongoDB高可用架構
方案:MongoDB複製集+Sharding分片
服務器資源:
一、9臺:6臺PC Server做爲shared節點,3臺做爲仲裁節點,三個Mongos和Config各部署在三個Shared節點上,如上圖;
二、橫向擴展分片,一組分片由3臺PC Server構成;
三、仲裁節點服務器不存儲實際數據,所以低配便可。
備註:
一、考慮到高可擴展問題,放棄MongoDB主從複製方案;
二、對數據安全要求很是高的業務,每組分片可由5臺PC Server構成;
三、建議開發人員結合業務選出最合適的片鍵。
4、Redis
Redis小型高可用架構
方案:Redis主從複製+Keepalived實現Failover
服務器資源:兩臺PC Server
優勢:架構簡單,節省資源
缺點:主從切換有間隔,這期間客戶端將收到錯誤
方案:Redis Sentinel實現Failover
服務器資源:
一、兩臺PC Server部署Redis,一臺Redis Sentinel;
二、Redis可選擇一主多從架構;
三、一臺Redis Sentinel選擇低配。
優勢:Redis官方自帶HA方案,Redis做者所編寫,具有
缺點:發生Failover以後,客戶端須要手動更正地址
Redis中型高可用架構
方案:Redis主從+Haproxy負載均衡
服務器資源:至少3臺PC Server部署Redis主從,兩臺PC Server部署Haproxy
優勢:讀寫分離,橫向擴展Slave
缺點:Master爲單點
Redis大型高可用架構
方案:Twemproxy實現Redis存儲分片
服務器資源:至少6臺PC Server部署Redis主從,至少3臺PC Server部署Twemproxy,2臺PC Server部署HAProxy
優勢:分片,負載均衡,Redis和Twemproxy均可以橫向擴展
缺點:Twemproxy所存在的缺點:
一、Twemproxy節點擴展,原來的數據須要從新處理分佈,避免出現找不到key值;
二、擴展Redis節點,數據不會自動均勻分佈,而需人工處理。