Rust 寫的 Undermoon Redis 集群-Chunk
感謝 doyoubi 提供這么好的項目,原文:https://github.com/doyoubi/undermoon/blob/master/docs/chunk.md
Chunk 是集群的基本構建塊,可為創建的集群提供良好的拓撲結構以實現工作負載平衡。它由 2 個代理和 4 個 Redis 節點組成,均勻分布在兩臺機器上。
通常,前半部分有 1 個主節點和 1 個副本,它們的對等點位于后半部分。
后半部分失敗后,前半部分的所有 Redis 節點都將成為 master。
Chunk 分配
Undermoon 沒有復雜的調度策略和技術,而是采用了簡單的 Redis 節點分配算法來實現工作負載均衡:
- 主節點應該均勻分布在所有機器上。
- 故障轉移發生后,在每個集群中,故障主節點的流量洪水應該均勻分布在所有機器上。
算法細節和算法終端證明記錄在chunk allocation(塊分配)中。
https://github.com/doyoubi/undermoon/blob/master/docs/chunk_allocation.txt
節點分配算法旨在分配節點塊以達到最大的平衡,也就是。盡量在整個集群中最廣泛地分布丟失主機上的從屬故障轉移。