高可用的設計原理:linux
一致性sql
1)Weak 弱一致性:當你寫入一個新值後,讀操做在數據副本上可能讀出來,也可能讀不出來。好比:某些cache系統,網絡遊戲其它玩家的數據和你沒什麼關係,VOIP這樣的系統,或是百度搜索引擎(呵呵)。服務器
2)Eventually 最終一致性:當你寫入一個新值後,有可能讀不出來,但在某個時間窗口以後保證最終能讀出來。好比:DNS,電子郵件、Amazon S3,Google搜索引擎這樣的系統。網絡
3)Strong 強一致性:新的數據一旦寫入,在任意副本任意時刻都能讀到新值。好比:文件系統,RDBMS,Azure Table都是強一致性的。架構
方案:異步
1. MySQL Replication(半同步->異步同步)搜索引擎
優勢:設計
缺點:3d
2. Mysql Clusterblog
優勢:
缺點:
共享存儲SAN
優勢:
缺點:
DRBD
是一個以linux內核模塊方式實現的塊級別同步複製技術。它經過網卡將主服務器的每一個塊複製到另一個服務器塊設備上,並在主設備提交塊以前記錄下來。
MySQL Fabric
簡單來講就是數據分片下的M/S的讀寫分離模式。這個方案的的可用性能夠達到99%