Skip to content
Neuron Teckid edited this page Jun 18, 2015 · 2 revisions

节点 API

以下 API 均可通过 HTTP 方式调用.

若调用后 HTTP 状态码为 200 表示成功; 400 表示参数错误. 有错误时均返回 JSON, 其中 reason 字段表示错误原因.

标注返回值为 "无" 的 API, 在成功调用后不会有返回内容.

注册节点

添加一个已经在运行的 redis 到数据库中; 此 API 不能启动 redis 进程

URI: /nodes/add

方式: POST Form

参数

  • host: 节点地址
  • port: 节点端口 (整数)
  • mem: 节点最大内存 (整数)

返回

(无)

删除节点

不再监视指定的节点, 此 API 不能结束进程; 指定的节点必须已经不在任何集群中

URL: /nodes/del

方式: POST Form

参数

  • host: 节点地址
  • port: 节点端口 (整数)

返回

(无)

集群 API

注册一个空的集群

URI: /cluster/add

方式: POST Form

参数

  • descr: 描述

返回

  • 集群 ID

将一空闲 Redis 节点启动为集群

URI: /cluster/launch

方式: POST Form

参数

  • host: 空闲节点的地址
  • port: 空闲节点的端口 (整数)
  • cluster_id: 集群 ID (可由注册空集群 API 返回, 整数)

返回

(无)

添加代理

添加一个已经在运行的 redis-cerberus 到数据库中; 此 API 不能启动 cerberus 进程

URI: /cluster/register_proxy

方式: POST Form

参数

  • host: 代理的地址
  • port: 代理的端口 (整数)
  • cluster_id: 集群 ID (整数)

移除代理

从数据库中移除一个 redis-cerberus; 此 API 不能终止 cerberus 进程

URI: /cluster/delete_proxy

方式: POST Form

参数

  • host: 代理的地址
  • port: 代理的端口 (整数)

设置集群信息

设置集群的描述信息与代理. 设置代理信息后, 代理即会在下一次轮询中被访问.

URI: /cluster/set_info

参数

  • cluster_id: 集群 ID (整数)
  • descr: 描述, 可选, 若不传则清除描述
  • proxy_host: 集群代理地址
  • proxy_port: 集群代理端口 (整数)

集群自动发现

URI: /cluster/audodiscover

方式: GET

参数

  • host: 节点地址
  • port: 节点端口 (整数)

返回

JSON 列表, 所有与该节点同一集群但没有在 Redis-ctl 中注册的节点; 每个节点包含以下信息

  • host: 节点地址
  • port: 节点端口
  • role: 节点角色 ("master" 或 "slave")

集群自动组建

指定一个节点, 将该节点以及与该节点同一个集群且已经在 Redis-ctl 注册的其它节点加入到同一个集群中.

URI: /cluster/autojoin

方式: POST Form

参数

  • host: 节点地址
  • port: 节点端口 (整数)

返回

(无)

集群任务 API

以下 API 均仅在集群中新建一个任务; 执行任务需要守护进程一直运行; 若无特别说明, 请求方式均为 POST Form, 均返回空字符串

将空闲节点加入集群作为主节点

URI: /cluster/join

参数

  • host: 空闲节点的地址
  • port: 空闲节点的端口 (整数)
  • cluster_id: 集群 ID (整数)

数据槽位迁移

URI: /cluster/migrate_slots

参数

  • src_host: 槽位来源节点地址
  • src_port: 槽位来源节点端口 (整数)
  • dst_host: 槽位目标节点的地址
  • dst_port: 槽位目标节点的端口 (整数)
  • slots: 槽位 (逗号分隔的整数, 如 "0,1,2,3")

请求时, 检查来源节点, 必须在数据库中标记为某个集群的成员; 任务执行时, 来源节点在执行任务时必须持有所有槽位.

将空闲节点加入集群作为从节点

URI: /cluster/replicate

参数

  • master_host: 主节点地址
  • master_port: 主节点端口 (整数)
  • slave_host: 空闲节点的地址
  • slave_port: 空闲节点的端口 (整数)

退出集群

适用于主节点和从节点; 对主节点使用时, 其不能有从节点, 不能有数据 (有数据请先通过迁移槽位 API 将数据迁移到其他节点上).

URI: /cluster/quit

参数

  • host: 节点地址
  • port: 节点端口 (整数)
  • cluster_id: 集群 ID (整数)
Clone this wiki locally