業務系統高可用性及高穩定性設計

2021-07-22 18:12:43 字數 959 閱讀 1626

因為今天有人聊到這個話題 我簡單表述下雙主多從的資料庫建議

web1    web2    web3 

|              |          | 

—————————- 

|  haproxy(lb db write/read) 

|  ———————————- 

|                                | 

mdb1                     mdb2 

|                              | 

————–             —————- 

|             |              |            | 

sdb1    sdb2        sdb3      sdb4

說明: 

1)mdb1和mdb2配置成主-主模式,相互同步,通過haproxy提供乙個lb的寫ip 

2)sdb1和sdb2配置為mdb1的從,sdb3和sdb4配置為mdb2的從 

3)sdb1,sdb2,sdb3,sdb4這4臺從庫,通過haproxy提供乙個lb的讀ip 

4) 當mdb2停止複製,mdb1為主庫,haproxy停止傳送請求到mdb2和sdb3,sdb4 

5) 當mdb1停止複製,mdb2為主庫,haproxy停止傳送請求到mdb1和sdb1,sdb2 

6) 當mdb1和mdb2同時停止複製,這時2臺主庫變成readonly模式,資料庫不能寫入 

7)當mdb2 offline時,mdb1進入backup mode,停止傳送請求到mdb2,sdb3,sdb4 

8)當mdb1 offline時,mdb2進入backup mode,停止傳送請求到mdb1,sdb1,sdb2 

9) 當mdb1 mdb2同時offline,整個db停止工作

地鐵事件對系統穩定性 可用性的思考

昨天晚高峰發生在北京地鐵上的一件事情讓我心裡一直很難受,乙個年輕的生命在地鐵的兩個自動門之間被夾身亡。姑且不論受害者的家屬是什麼樣的乙個心情,作為乙個普通人,都會覺得非常的惋惜和憤恨。為什麼地鐵門不止一次的奪走了一條又一條的生命?不要以為這是乙個 低概率事件 而預設事情的合理性。如果我們尊重人的生命...

Keepalived高可用性集群及原理介紹

keepalived起初是專為lvs開發的,現在主要功能有兩個,分別是健康檢查和監控接替。keepalived 故障切換轉移原理介紹 在兩個負載均衡排程器上安裝keepalived以實現高可用的目的。兩個排程器之間通過vrrp協議來保證高可用性,當一台排程器宕機時,另一台備用的立即接替原主機服務,當...

HDFS高可用性HA架構原理及環境搭建

1 元資料同步 hdfs高可用性保證兩個namenode記憶體中儲存的檔案系統元資料是一致的。namenode的啟動過程 乙個namenode啟動時,讀取fsimage和edits檔案,讀取後會生成新的fsimage和edits檔案,另乙個namenode同樣需要去讀取這兩個檔案,變化後的edits...