分散式系統與叢集環境

zhusir發表於2018-08-22

分散式與叢集的區別與聯絡

分散式與叢集都是由多節點組成。叢集節點之間不需要協調通訊,而分散式系統中的通訊必不可少。

分散式事務ACID

A:原子性:一個操作只能有兩種結果,要麼成功,要麼失敗

C: 一致性:事務必須始終保持系統處於一致的狀態,不管在任何給定的時間併發事務有多少。

I: 隔離性:同一時間只能一個事務進行操作,對別的事務隔離

D:永續性:在事務完成以後,該事務對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。

分散式CAP理論

一個分散式系統不可能同時滿足一致性,可用性,和分割槽容錯性,一般是滿足

一致性(Consistency):所有伺服器的資料一致

分散式環境下的一致性一般指的都是在多個資料副本的情況下,資料要保持一致,如果一個寫操作之後,需要所有讀取操作都能夠讀到正確的結果

可用性(Availability):系統必須一直處於可用的狀態,比如在規定時間內做出響應

分割槽容錯性(Partition tolerance):多臺裝置分佈的情況下,一臺裝置崩了不能影響其他裝置

redis叢集

一:主從同步

一般一個master,兩個slave。

master可讀可寫,slave只讀不寫。當master掛了的時候可以通過手動模式將slave升級為master,或者通過哨兵模式自動升級

mysql叢集

(1)如何儲存資料

Mysql cluster資料節點組內主從同步採用的是同步複製,來保證組內節點資料的一致性。一般通過兩階段提交協議來實現

mysql讀寫分離及主從同步




相關文章