iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1

不論是在實體機器或者是在雲端服務上部署Scylla,為了避免遇到同一個機櫃的機器發生了跳電或故障等突發狀況,或者是雲端服務部署的地區突然發生問題,都可以利用Scylla的Datacenter這個設計來分散風險。

以Google Cloud Platform為例,在建立VM時可以選擇部署在不同的地區,例如asia-east1-a/asia-east1-a,us-central-1/us-central1-b等。所以每個Datacenter各自架設一個cluster,而不同cluster的node座落在不一樣的地區,使用者在連線時則可以依據所在的地區可以直接連到最接近的cluster。


配合之前提到的NetworkTopologyStrategy,我們需要分別為兩個DataCenter設定 DataCenter1 RF=3,DataCenter2 RF=3。當然也可以依據不一樣的需求分別設定為不同的RF。
這邊以兩個DataCenter都設定相等的RF=3為例,當DataCenter1所屬地區的網路發生問題時,如果使用者的consistency level是QUORUM或者是LOCAL_QUORUM,所有的讀取跟寫入語法還是可以順利的操作。因為DataCenter2還是有過半數量的node會回應。但是當使用者的consistency level設定是EACH_QUORUM,表示兩個DataCenter都必須有過半的node回應,但是此時的DataCenter1因為網路問題無法回應,那麼使用者在寫入時就會錯誤,但是讀取則不受影響,因為EACH_QUORUM只有支援寫入。

https://ithelp.ithome.com.tw/upload/images/20200909/20113220uslUlKfivz.png


上一篇
Day7 Architecture(三) - Create Table
下一篇
Day9 Architectur(五) - gossip
系列文
ScyllaDB實作紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言