深圳幻海软件技术有限公司 欢迎您!

Rust 写的 Undermoon Redis 集群-Chunk

2023-02-28

感谢doyoubi提供这么好的项目,原文:https://github.com/doyoubi/undermoon/blob/master/docs/chunk.mdChunk是集群的基本构建块,可为创建的集群提供良好的拓扑结构以实现工作负载平衡。它由2个代理和4个Redis节点组成,均匀分布在两台

感谢 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

节点分配算法旨在分配节点块以达到最大的平衡,也就是。尽量在整个集群中最广泛地分布丢失主机上的从属故障转移。