Undermoon - 基于 Redis Cluster Protocol 的自管理 Redis 集群系统

开发 前端
Metadata storage 存储了整个 undermoon 集群的所有元数据,包括现有的 Redis 实例、代理和暴露的 Redis 集群。

Undermoon 是一个基于 Redis 集群协议的自管理 Redis 集群系统,支持:

  • 水平可扩展性和高可用性
  • 通过 HTTP API 进行集群管理
  • master 和 replica 的自动故障转移
  • 快速扩展

任何实现 redis 协议的存储系统也可以以某种方式与 undermoon 一起工作,例如 KeyDB。

  • https://github.com/JohnSully/KeyDB

关于 Redis Cluster Protocol 的更深入解释以及 Undermoon 是如何实现的,请参考 Redis Cluster Protocol。

  • https://github.com/doyoubi/undermoon/blob/master/docs/redis_cluster_protocol.md

架构

Metadata Storage(元数据存储)

Metadata storage 存储了整个 undermoon 集群的所有元数据,包括现有的 Redis 实例、代理和暴露的 Redis 集群。现在它是一个名为 Memory Broker 的内存存储服务器。当使用 undermoon-operator 时,这个 Memory Broker 会改为使用 ConfigMap 来存储数据。

Coordinator(协调器)

Coordinator 将在代理和服务器代理之间同步元数据。它还主动检查服务器代理的活跃度并启动故障转移。

Storage Cluster(存储集群)

Storage Cluster 由服务器代理和 Redis 实例组成。它就像官方的 Redis Cluster 一样为应用程序服务。可以在它和应用程序之间添加一个 Redis Cluster Proxy,这样应用程序就不需要将其 Redis 客户端升级为智能客户端。

Chunk(块)

Chunk 是每个暴露的 Redis 集群的最小构建块。每个块由 4 个 Redis 实例和 2 个服务器代理组成,均匀分布在两台不同的物理机上。所以每个 Redis 集群的节点数将是 4 的倍数,一半 master 一半 replica。

chunk 的设计使得构建具有良好拓扑的集群非常容易,以实现工作负载均衡。


责任编辑:武晓燕 来源: 黑客下午茶
相关推荐

2022-01-26 00:06:08

Redis分布式客户端

2022-02-06 21:14:57

Redis命令

2022-02-02 21:58:43

Redis集群Undermoon

2022-01-26 20:43:04

集群构建块Chunk

2024-03-07 16:03:56

RedisDocker

2009-06-29 12:37:21

linux

2021-04-06 06:04:36

Redis 6.X C集群搭建操作系统

2023-04-07 08:28:14

2018-07-16 08:29:54

redis集群限流

2023-06-10 23:09:40

Redis场景内存

2013-03-21 11:09:48

网络管理高可用性集群系统网络虚拟化基础架构

2012-08-22 15:25:43

Linux集群

2019-12-13 10:50:49

集群Redis存储

2012-09-06 14:54:58

Linux集群

2010-09-29 10:16:02

Linux集群虚拟化

2024-01-17 19:05:44

mget优化数据库

2017-07-11 13:30:12

RedisDockerLinux

2021-04-22 08:40:42

RedisCluster 集群故障转移

2010-04-22 14:19:21

LVS负载均衡集群

2013-03-20 10:19:17

RedisRedis-senti监控
点赞
收藏

51CTO技术栈公众号