您好,登錄后才能下訂單哦!
什么是Replication?
在Cassandra中,Replication是存儲數據的到多個節點來保證可靠性和出錯容忍性。當你創建一個keyspace時候(相當于關系數據庫中的表)的時候,就必須給出一個副本放置策略 (Replica Placement Strategy)
什么是副本因子(Replica Factor)?
這個數決定了有幾份副本,比如如果設置為1,則表示每一行只有一個副本,以此類推。所有的副本地位都是相等的, 沒有主從之分。注意,副本因子最多不可以超過節點的數量,(沒這么多節點讓你放這么多副本)否則寫操作會被拒絕。
什么是副本放置策略(Replica Placement Strategy)?
這個策略決定了一個keyspace的副本如何放置在集群中(當創建keyspace時候就指定了)
a.簡單策略(SimpleStrategy):
當使用Cassandra CLI 命令行工具創建keyspace時的默認副本放置策略。假定根據partitioner得到第一個節點設為N1,它的順時針的節點為N2,N3...則這種策略會把keyspace的第一個副本放置在N1上,然后其他副本依次放置在N2,N3..上
b.網絡拓撲策略(NetworkTopologyStrategy):
這種策略用于當你知道節點如何在數據中心(Data Center)分組的情況或者你希望部署集群橫跨多個數據中心,此時你必須指定每個數據中心要多少個副本,(一般推薦設為2或者3)。在這種情況下,副本放置策略由數據中心自己決定。具體為,先由partitioner決定第一個node設為N1,在架子(rack1)上,屬于數據中心DC1,則第一個副本放在N1,其他副本也必須分別放在DC1中,優先選擇不是rack1的架子,如果沒有其他rack,則只能放在rack1上。
比如如圖所示,現在有兩個數據中心,藍色表示DC1,綠色表示DC2,DC1上有2個架子,分別是Rack1和Rack2。則如果partitioner選擇的第一個節點是DC1的節點N3的話,那么副本R1就放在DC1的節點N3 上,而這個副本的下一個副本R2就放在同一個DC,也就是DC1的下一個rack上(如果有),它剛好發現,順時針的下一個節點N4剛好也是DC1,但是是另外一個架子(Rack2),所以副本R2放在N4上。對于屬于DC2的2個副本也遵循同樣的策略。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。