doyoubi/undermoon:Rust語言編寫的Redis叢集方案
Undermoon是一個基於Redis 叢集協議的自管理 Redis 叢集系統,支援:
- 水平可擴充套件性和高可用性
- 透過 HTTP API 進行叢集管理
- 主副本和副本的自動故障轉移
- 快速縮放
任何實現 redis 協議的儲存系統也可以以某種方式與 undermoon 一起工作,例如KeyDB。
關於 Redis 叢集協議的更深入解釋以及 Undermoon 是如何實現的,請參考Redis 叢集協議。
叢集原理:
- 後設資料儲存
後設資料儲存儲存整個undermoon叢集的所有後設資料,包括現有的 Redis 例項、代理和暴露的 Redis 叢集。現在它是一個名為Memory Broker. 當使用undermoon-operator時,這Memory Broker將更改為用於ConfigMap儲存資料。
- 協調員
Coordinator 將在代理和伺服器代理之間同步後設資料。它還主動檢查伺服器代理的活躍度並啟動故障轉移。
- 儲存叢集
儲存叢集由伺服器代理和 Redis 例項組成。它就像官方的 Redis 叢集一樣為應用程式服務。可以在它和應用程式之間新增一個 Redis Cluster Proxy,這樣應用程式就不需要將其 Redis 客戶端升級為智慧客戶端。
- 塊chunk
塊是每個暴露的 Redis 叢集的最小構建塊。每個塊由 4 個 Redis 例項和 2 個伺服器代理組成,均勻分佈在兩臺不同的物理機上。所以每個 Redis 叢集的節點數將是 4 的倍數,半主半副本。
chunk 的設計使得構建具有良好拓撲結構的叢集非常容易,以實現工作負載平衡。
安裝:如果你有 Kubernetes,使用undermoon-operator 是建立 Redis 叢集的最簡單方法。
相關文章
- Redis叢集方案Redis
- Redis 叢集方案Redis
- 使用 Rust 語言編寫 Java JNI 實現RustJava
- redis叢集 資料遷移方案Redis
- spacejam/sled:使用Rust語言編寫的嵌入式資料庫Rust資料庫
- Redis系列:搭建Redis叢集(叢集模式)Redis模式
- Redis叢集實現方案選型分析Redis
- Redis叢集方案,Codis安裝測試Redis
- Redis Sentinel:叢集Failover解決方案RedisAI
- redis高可用強擴充套件的叢集方案Redis套件
- redis 叢集Redis
- redis叢集Redis
- redis叢集的搭建Redis
- HTML語言編寫指南HTML
- Redis+TwemProxy(nutcracker)叢集方案部署記錄Redis
- 架構師必備:Redis的幾種叢集方案架構Redis
- Rust語言Rust
- Redis cluster 叢集Redis
- redis叢集搭建Redis
- redis系列:叢集Redis
- 搭建 Redis 叢集Redis
- Redis Cluster(叢集)Redis
- Redis 叢集方法Redis
- Redis-叢集Redis
- redis叢集原理Redis
- redis偽叢集配置Cluster叢集模式Redis模式
- Redis叢集 - cluster叢集、資料分片Redis
- badamczewski/PowerUp:Rust/Go語言的反編譯工具RustGo編譯
- 機器語言編寫helloworld
- Rust是如何用Rust編寫的? - RedditRust
- 認識Redis叢集——Redis ClusterRedis
- Redis(5.0) 叢集搭建Redis
- 搭建Redis原生叢集Redis
- docker-redis叢集DockerRedis
- Redis--叢集搭建Redis
- Docker搭建Redis叢集DockerRedis
- redis 叢集構建Redis
- redis叢集指導Redis