為什麼riak叢集最好至少要五個節點以上,riak叢集五個節點
本文連結:http://blog.csdn.net/ddjohn/article/details/43523983
首先確保你正確地安裝了riak,當你使用Riak Fast Track在開發或者測試環境快速建立3個節點,我們建議所有的生產環境至少部署5個節點,以此來確保你從riak的高可用性原則中受益.
部署五個或者更多的節點將提供最佳的效能並且隨著叢集擴充而增加.因為riak是通過增加節點來實現橫向擴充,所以你會發現隨著叢集越來越龐大,效能,可靠性和輸送量會越來越好. 較小規模的部署會危及系統的容錯性和可用性:“健全”的複製要求(我們預設為三份),在較小的叢集中,單點故障意味著複製的需求很可能得不到滿足。這將導致效能下降並且增加資料丟失的風險.另外,小於5個節點的叢集將使得75%至100%的節點需要響應每個請求,這將導致不必要的負載從而降低效能.
我們進一步看下三個節點和四個節點的情況.
容錯性和效能在3個節點的叢集下:
為了確保叢集總是響應讀寫請求,riak建議一個理性的複製策略:在三個不同節點上保留三分副本.Riak的預設配置是至少需要四個節點,以確保沒有一個單點儲存任何特定的資料片段的多個副本。但這完全可能通過更改設定來確保在一個三個節點的叢集中,三個副本存在於獨立的節點中.另外你還有可能碰到單點故障或網路故障引起的副本放置問題.
當一個三節點的叢集碰到節點實效或者網路分區時,預設的複製要求仍然是至少有三個節點來完成但此時只有兩個或一個節點在工作.這會導致效能下降,並且有資料丟失的風險.
容錯性和效能在4個節點的叢集下:
由於複製需要用到3個節點,在一個擁有4個節點的叢集中,針對特定資料的每一個請求都需要從75%至100%的節點中得到響應,這可能會降低叢集的效能.如果碰到單點故障或者網路磁碟分割,你會碰到我們上面提到的問題.
如果改變預設的複製配置?
如果想在你的項目中使用正確的副本數量,只需要確保在叢集中使用N+2個節點(N是上述原因的副本數量).
如果有5個節點:
當你的riak叢集節點增加到5個時,叢集中每個節點響應請求的百分比下降.riak做橫向擴充就是基於這點的.遇到單點故障時,其他節點的數量足夠大,可以確保你的資料不會丟失.
所以當你在測試或者開發環境中使用叢集時,可以用較小規模的節點數量,但是當在生產環境中,節點的數量務必要大於等於5.
英文連結:http://basho.com/why-your-riak-cluster-should-have-at-least-five-nodes/