數據庫高可用架構(MySQL、Oracle、MongoDB、Redis)


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM