### 1、主從復制方案
這是MySQL自身提供的一種高可用解決方案,數據同步方法采用的是MySQL replication技術。MySQL replication就是從服務器到主服務器拉取二進制日志文件,然后再將日志文件解析成相應的SQL在從服務器上重新執行一遍主服務器的操作,通過這種方式保證數據的一致性。為了達到更高的可用性,在實際的應用環境中,一般都是采用MySQL replication技術配合高可用集群軟件keepalived來實現自動failover,這種方式可以實現95.000%的SLA。
### 2、MMM/MHA高可用方案
MMM提供了MySQL主主復制配置的監控、故障轉移和管理的一套可伸縮的腳本套件。在MMM高可用方案中,典型的應用是雙主多從架構,通過MySQL replication技術可以實現兩個服務器互為主從,且在任何時候只有一個節點可以被寫入,避免了多點寫入的數據沖突。同時,當可寫的主節點故障時,MMM套件可以立刻監控到,然后將服務自動切換到另一個主節點,繼續提供服務,從而實現MySQL的高可用。
### 3、Heartbeat/SAN高可用方案
在這個方案中,處理failover的方式是高可用集群軟件Heartbeat,它監控和管理各個節點間連接的網絡,并監控集群服務,當節點出現故障或者服務不可用時,自動在其他節點啟動集群服務。在數據共享方面,通過SAN(Storage Area Network)存儲來共享數據,這種方案可以實現99.990%的SLA。
### 4、Heartbeat/DRBD高可用方案
這個方案處理failover的方式上依舊采用Heartbeat,不同的是,在數據共享方面,采用了基于塊級別的數據同步軟件DRBD來實現。DRBD是一個用軟件實現的、無共享的、服務器之間鏡像塊設備內容的存儲復制解決方案。和SAN網絡不同,它并不共享存儲,而是通過服務器之間的網絡復制數據。
### 5、NDB CLUSTER高可用方案
國內用NDB集群的公司非常少,貌似有些銀行有用。NDB集群不需要依賴第三方組件,全部都使用官方組件,能保證數據的一致性,某個數據節點掛掉,其他數據節點依然可以提供服務,管理節點需要做冗余以防掛掉。缺點是:管理和配置都很復雜,而且某些SQL語句例如join語句需要避免。
- 一、經典(一)
- 二、經典(二)
- 三、經典(三)
- 四、經典(四)
- 五、經典(五)
- 六、經典(六)
- 七、經典(七)
- 八、經典(八)
- 九、經典(九)
- 十、經典(十)
- 十一、經典(十一)
- 十二、經典(十二)
- 其他
- 1、知識點一
- 2、面試集
- 3、負載均衡原理
- 4、LVS相關了解
- 5、微服務架構
- 6、分布式鎖實現原理
- 7、Etcd怎么實現分布式鎖
- 8、Redis的數據結構有哪些,以及實現場景
- 9、Mysql高可用方案有哪些
- 10、Go語言的棧空間管理是怎么樣的
- 11、Goroutine和Channel的作用分別是什么
- 12、Go中的鎖有哪些?三種鎖,讀寫鎖,互斥鎖,還有map的安全的鎖?
- 13、怎么限制Goroutine的數量
- 14、Goroutine和線程的區別?
- 15、中間件原理