Undermoon HTTP API完全手册:集群管理与监控的高效操作指南
2026/7/28 7:48:43 网站建设 项目流程

Undermoon HTTP API完全手册:集群管理与监控的高效操作指南

【免费下载链接】undermoonMordern Redis Cluster solution for easy operation.项目地址: https://gitcode.com/gh_mirrors/un/undermoon

Undermoon是一个现代化的Redis集群解决方案,通过强大的HTTP API实现简单高效的集群管理与监控。本文将全面介绍Undermoon的HTTP API功能,帮助新手和普通用户快速掌握集群创建、节点管理、故障处理等核心操作。

一、API基础概述 📋

Undermoon的HTTP API采用RESTful设计风格,所有请求和响应均使用JSON格式,通过HTTP 200状态码标识成功或失败。主要包含两类API:基础的Broker HTTP API和扩展的Memory Broker API,后者是前者的超集,提供更丰富的集群管理功能。

1.1 API版本与路径规范

  • 基础路径:/api/v3/
  • 核心文档:Broker HTTP API、Memory Broker API
  • 配置文件:mem-broker.toml(定义HTTP API地址)

二、集群管理核心API 🔧

2.1 集群创建与配置

创建集群

请求POST /api/v3/clusters/meta/<cluster_name>
参数

{ "node_number": 8 // 必须是4的倍数 }

成功响应HTTP 200
错误码

  • INVALID_CLUSTER_NAME:集群名称包含非法字符
  • NO_AVAILABLE_RESOURCE:资源不足
获取集群元数据

请求GET /api/v3/clusters/meta/<cluster_name>
响应示例

{ "cluster": { "name": "mycluster", "epoch": 1, "nodes": [{ "address": "redis9:6379", "proxy_address": "server_proxy5:6005", "slots": [[0, 8191]] }] } }

2.2 节点扩缩容操作

动态添加节点

请求PATCH /api/v3/clusters/nodes/<cluster_name>
参数

{ "node_number": 4 // 新增节点数量(4的倍数) }
自动扩缩容迁移

请求POST /api/v3/clusters/migrations/auto/<cluster_name>/<node_number>

  • 扩容:自动添加节点并启动迁移
  • 缩容:仅收缩槽位,需手动删除空闲节点

三、监控与故障处理 🚨

3.1 集群状态监控

获取集群信息

请求GET /api/v3/clusters/info/<cluster_name>
响应示例

{ "name": "mycluster", "node_number": 8, "is_migrating": false }
查看失败代理

请求GET /api/v3/proxies/failed/addresses
响应

{ "addresses": ["server_proxy1:6001"] }

3.2 故障转移与恢复

触发故障转移

请求POST /api/v3/proxies/failover/<server_proxy_address>
成功响应:返回新主节点信息

资源故障检查

请求POST /api/v3/resources/failures/check
响应

{ "hosts_cannot_fail": ["host1"] // 资源不足的主机列表 }

四、实用操作指南 💡

4.1 快速初始化集群

通过Docker Compose部署后,可执行初始化脚本注册存储资源:

git clone https://gitcode.com/gh_mirrors/un/undermoon cd undermoon/examples/mem-broker ./init.sh # 通过HTTP API自动完成集群注册

4.2 配置压缩策略

请求PATCH /api/v3/clusters/config/<cluster_name>
参数

{ "compression_strategy": "set_get_only" // 仅压缩SET/GET命令 }

4.3 元数据备份与恢复

导出元数据

请求GET /api/v3/metadata

恢复元数据

请求PUT /api/v3/metadata
注意:仅用于调试,生产环境需谨慎使用

五、API错误码速查 📚

错误码含义处理建议
CLUSTER_NOT_FOUND集群不存在检查集群名称拼写
MIGRATION_RUNNING迁移中等待当前迁移完成
NO_AVAILABLE_RESOURCE资源不足添加更多代理节点
RETRY操作冲突稍后重试请求

通过本文介绍的Undermoon HTTP API,您可以轻松实现Redis集群的自动化管理与监控。无论是新手还是资深用户,都能快速掌握集群创建、扩缩容、故障处理等关键操作,提升Redis集群的运维效率。更多高级功能请参考官方文档:docs/。

【免费下载链接】undermoonMordern Redis Cluster solution for easy operation.项目地址: https://gitcode.com/gh_mirrors/un/undermoon

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询